[as2]Evenement de changement de texte dans une zone de saisie

Résolu
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 - 18 déc. 2008 à 16:38
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 - 19 déc. 2008 à 10:44
Bonjour!

Je galère un peu sur un truc qui me parait simple , j'ai une zone de saisie main et je veux lancer une fonction
pour savoir si ce qui est rentrée est un nombre de ce type :

main.change = function()
{
    nombreTransitoitre =Number(main.text);
    if(nombreTransitoire != "NaN")
    {
        leNombre = nombreTransitoire;
    }
    else
    {
        main.text=leNombre;
    }
   
}

le problème est ... que visiblement la fonction n'est pas appelée!
j'ai aussi essayé main.text.change mais sans succès également.
Quelqu'un a t'il une piste?

3 réponses

nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
18 déc. 2008 à 20:02
Salut,

si main est ton textfield, tapes (en actionscript 2.0)

main.onChanged = function(field:TextField)
{      var nombreTransitoire:Number parseFloat(field.text), leNombre:Number 256.0;
     // continue le traitement de ton textfield en utilisant le parametre field (qui est le textfield main passe directement en parametre)
}


je suis heureux de faire partie d'une grande famille ...!
3
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 2
19 déc. 2008 à 10:44
Bon c'était bien ma condition qui était fausse , voici ma solution:

if(!isNaN(nombreTransitoire))
{

}
else
{

}
3
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 2
19 déc. 2008 à 09:21
Merci Nickydaquick!

J'ai juste modifié change en onChanged et ça tourne!
Le seul problème est que visiblement mon contrôle pour vérifier que le texte entré
est un nombre est  mauvais,j'avais vu que lors d'une rentrée d'une chaine de caractère
ne pouvant être convertie en nombre le programme renvoyait "NaN" (Not a Number),mais lorsque je rentre une lettre
le nombre en mémoire n'est pas remis dans le champs!

-est ce que lorsque qu'il y a une exception de ce genre le traitement est coupé?

ou bien

-est ce que ma condition dans le if est mauvaise?

 je vais chercher encore pour ça mais si quelqu'un a une idée je suis à l'écoute , merci!
0
Rejoignez-nous