Petit problème en javascript
nanar
-
grofwa Messages postés 440 Statut Membre -
grofwa Messages postés 440 Statut Membre -
Bonjour,
Voici mon petit problème.
J'utilise trois navigateurs : Mozilla 1.7.1, Opera 7.01 et MSIE 5.5 (sous windows 98 SE)
Lorsque j'appelle la page html, seul Opera me donne la bonne réponse ...
Si vous avez installé Opera et un autre navigateur, vous pouvez constater les différences via un copier/coller du code ci-dessous dans le bloc note et en l'enregistrant sous 'test.htm".
Il s'agit de déterminer le mois d'une date.
D'avance merci pour vos solutions ou propositions.
Voici mon petit problème.
J'utilise trois navigateurs : Mozilla 1.7.1, Opera 7.01 et MSIE 5.5 (sous windows 98 SE)
Lorsque j'appelle la page html, seul Opera me donne la bonne réponse ...
Si vous avez installé Opera et un autre navigateur, vous pouvez constater les différences via un copier/coller du code ci-dessous dans le bloc note et en l'enregistrant sous 'test.htm".
Il s'agit de déterminer le mois d'une date.
D'avance merci pour vos solutions ou propositions.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="fr-be">
<script language="Javascript">
function valid()
{
date_=document.forms[0].elements["date"].value;
// décompostion de la chaîne en nombres
annee=parseInt(date_.substr(0,4));
mois=parseInt(date_.substr(5,2));
jour=parseInt(date_.substr(8,2));
alert("month = "+date_.substr(5,2));
alert("month = "+mois); // the result is not correct with Mozilla 1.7.1
// when date_ = 1998-08-08
}
</script>
<title>bug</title>
</head>
<body>
<p>Apparently, exist a bug with mozilla 1.7.1 (and MSIE 5.50)</p>
<p>This javascript make a mistake with date 1998-08-28</p>
<p>( but not with 2000-01-28, for example )</p>
<p>Test yourself </p>
<form>
<p>date : <input type="text" name="date" size="10"> (aaaa-mm-jj) <input type="submit" value="Afficher" onclick="valid()"></p>
</form>
<p> </p>
<p>With the browser Opera 7.01<br>
and this same file ("test-bug.htm"), no error ...</p>
</body>
</html>
4 réponses
Vous pouvez tester la page on line sur :
http://users.swing.be/compagnons-eole/test_bug.htm
avec différents navigateurs. Essayez avec la date 1998-08-28 ...
http://users.swing.be/compagnons-eole/test_bug.htm
avec différents navigateurs. Essayez avec la date 1998-08-28 ...
Tu as essayé avec
Michael
PS : jette un coup d'oeil sur cette discussion :
http://www.breakingpar.com/bkp/home.nsf/Doc?OpenNavigator&U=87256B280015193F87256C85006A6604
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
parseInt(value, 10)
Michael
PS : jette un coup d'oeil sur cette discussion :
http://www.breakingpar.com/bkp/home.nsf/Doc?OpenNavigator&U=87256B280015193F87256C85006A6604
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Merci
L'article suggéré est très intéressant.
J'ignorais que la fonction parseInt() avait un bug.
Si je remplace dans le script
mois=parseInt(date_.substr(5,2));
par
mois=parseInt(date_.substr(5,2),10);
Cela fonctionne avec tous les navigateurs
Encore merci
L'article suggéré est très intéressant.
J'ignorais que la fonction parseInt() avait un bug.
Si je remplace dans le script
mois=parseInt(date_.substr(5,2));
par
mois=parseInt(date_.substr(5,2),10);
Cela fonctionne avec tous les navigateurs
Encore merci