Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: ça marche... + carac. num.
Envoyé: 9 août 2004, 9h39 par Oznog
Pour tester un nombre tu as deux solution.
1. Si tu convertie la chaîne en nombre (Number('1d2')), s'il y a un caractère invalide le résultat sera "NaN".
// Sur l'action du cadre (frame)
// idéalement le premier cadre.
NomDINSTANCEduChampSaisie.onKillFocus = function() {
var nTemp = Number(this.text);
if (String(nTemp) == "NaN") {
trace('erreur');
}
}
2. Tu peux aussi valider la préscence des caractère valide. Avec indexOf sur les caractères valide.
// Sur l'action du cadre (frame)
// idéalement le premier cadre.
NomDINSTANCEduChampSaisie.onKillFocus = function() {
var sAcceptes = "1234567890.,-"
for (var i=0; i<this.text.length; i++) {
nChar = this.text.substring(i, i+1);
if (sAcceptes.indexOf(nChar) == "-1") {
trace('erreur');
break;
}
}
}
L'avantage de cette dernière sur la première est qu'une seule fonction permet de valider non seulement les nombre mais aussi tout ce que tu désire, il suffit de changer la chaîne des caractères acceptés "sAcceptes".
Pour une meilleurs intégration et portabilité, faire une fonction (idéallement une classe).
NomDINSTANCEduChampSaisie.onKillFocus = function() {
mafonctionValideNum(this.text);
}
function mafonctionValideNum(_num) {...
Ciao
Oznog
Réponses
|