|
Contrôle numérique en Javascript. |
Iniciado por Roumegou, 06,jul. 2004 14:58 - 2 respuestas |
| |
| | | |
|
| |
Publicado el 06,julio 2004 - 14:58 |
Pour les bons du JS ... Pour un formulaire géré dynamiquement, je veux effectuer un contrôle numérique. J'ai donc : 1 - dans mon formulaire, ma zone décrite comme suit <p><font size="2" face="Arial, Helvetica, sans-serif">Saisir un nombre<br><input name="NBNIVO1" type="text" onChange="CtrlNum(this,'Vous devez saisir un nombre')" value="0" size="7" maxlength="5"></font></p>
avec ma fonction JS function CtrlNum(objet,msgerr) { with (objet) // Pour l'objet en paramètre { valeur=parseInt(value); if (isNaN(valeur)) // Si valeur n'est pas numérique { if (msgerr!="") {alert(msgerr);} objet.select(); // Resélectionne le champ objet.focus(); // Resélectionne le contenu return false; } else { return true; } } }
Cela est efficace si je saisis A dans la zone et m'envoie le msg, mais pas si je saisis 12A. Il se comporte comme s'il ne testait que le 1er car ??
J'ai essayé avec OnBlur à la place de OnChange mais c'est pareil.
Merci de vos réponses. |
| |
| |
| | | |
|
| | |
| |
Publicado el 06,julio 2004 - 16:25 |
Salut,
voici une fonction qui devrait résoudre ton problème :
function isNumberString(InString) { if(InString.length==0) return (false); var RefString="1234567890"; for (Count=0; Count < InString.length; Count++) { TempChar= InString.substring (Count, Count+1); if (RefString.indexOf (TempChar, 0)==-1) return (false); } return (true); }
Et par la même je te félicite et te remercie de ton initiative pour ton site. BRAVO !!!!
Bonne fin de journée,
Olivier
"Roumegou" <ml.roumeg@4usinfo.com> a écrit dans le message de news:40ea862e$1@news.pcsoft.fr...
Pour les bons du JS ... Pour un formulaire géré dynamiquement, je veux effectuer un contrôle numérique. J'ai donc : 1 - dans mon formulaire, ma zone décrite comme suit <p><font size="2" face="Arial, Helvetica, sans-serif">Saisir un nombre<br><input name="NBNIVO1" type="text" onChange="CtrlNum(this,'Vous devez saisir un nombre')" value="0" size="7" maxlength="5"></font></p>
avec ma fonction JS function CtrlNum(objet,msgerr) { with (objet) // Pour l'objet en paramètre { valeur=parseInt(value); if (isNaN(valeur)) // Si valeur n'est pas numérique { if (msgerr!="") {alert(msgerr);} objet.select(); // Resélectionne le champ objet.focus(); // Resélectionne le contenu return false; } else { return true; } } }
Cela est efficace si je saisis A dans la zone et m'envoie le msg, mais pas si je saisis 12A. Il se comporte comme s'il ne testait que le 1er car ??
J'ai essayé avec OnBlur à la place de OnChange mais c'est pareil.
Merci de vos réponses.
|
| |
| |
| | | |
|
| | |
| |
Publicado el 06,julio 2004 - 22:23 |
"Olivier Priser" <olivier@doors.ch> a écrit dans le message de news: 40ea9a6c$1@news.pcsoft.fr...
Salut, Et par la même je te félicite et te remercie de ton initiative pour ton site. BRAVO !!!!
Merci de tes encouragements et de ton aide. Finalement pour mon contrôle, je me suis orienté vers les expressions régulières mais j'ai quand meme testé ta version et cela fonctionne. J'ai rajouté ces scripts dans ma rubrique "A noter sur les tablettes" si cela interesse certain.
Bonne fin de journée,
Olivier
|
| |
| |
| | | |
|
| | | | |
| | |
|