Comparaison chaîne de caractères

Résolu
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 25 avril 2007 à 13:32
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 25 avril 2007 à 17:22
Bonjour,
j'essaie de comparer un texte à partir d'un champ de saisie avec certaines chaînes de caractères... mais rien y fait.
Mon champs de saisie a un nom d'occurence -prenom- et voici mon code :
var prenom_txt:String="";

function comparaison(){
    if(prenom_txt===bob){
        trace("if bob "+prenom_txt);
         reponse="Vous voulez dire Robert ???";
    }
    if((prenom_txt==="John")||(prenom_txt==="Bill")){
        trace("if john "+prenom_txt);
         reponse="Voilà un prénom qu'il est bon";
    }
    else{
        trace("else "+prenom_txt);
         reponse="Soyons sérieux, il portera ça toute sa vie !";
    }
}
       

monbouton.onPress=function(){
    prenom_txt=prenom.text;
    trace("le prénom est : "+prenom_txt);
    comparaison();
}

J'ai essayé tout un tas de truc et me suis baladé sur le forum.
Donc, merci d'avance à ceux qui ont une idée

Tout vient à qui sait attendre Javascript:Insert_Emoticon('/imgs2/smile.gif');

12 réponses

cs_embalmer Messages postés 120 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 10 décembre 2007
25 avril 2007 à 15:51
Ok, c'est ça ton probleme, je comprend mieux.
C'est normal ton else se rapporte uniquement à ton dexuième if. remplace ce 2ème if par un "else if".  ou alors pour que ça soit plus propre utilise l'instruction switch

++
3
cs_embalmer Messages postés 120 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 10 décembre 2007
25 avril 2007 à 14:19
hello,

Essaye avec deux signe égal "==" au lieu de trois.
Si le problème persiste, vérifie le chemin de tes variables.

++
0
cs_embalmer Messages postés 120 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 10 décembre 2007
25 avril 2007 à 14:24
Autant pour moi, je n'avais pas fait attention à ta déclaration de variable en début de script. [Javascript:Insert_Emoticon('/imgs2/smile_big.gif'); ] mais bon change quand même tes signes signe d'égalités
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 14:24
Déjà essayé, et ça ne fonctionne pas non plus. Je retombe toujours sur le else et pourtant il "trace" bien le mot entré dans le champ de saisi.
Mais merci pour l'idée.

Tout vient à qui sait attendre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_embalmer Messages postés 120 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 10 décembre 2007
25 avril 2007 à 14:34
Bah j'ai testé ton script et ça marche bien apparament.

A tous hazard vérifie bien tes noms d'occurences et puis passe le prénom bob entre guillemets.
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 14:45
Fait, mais rien n'y fait, je tombe inlassablement sur le else.J'ai essayé avec avec et sans guillement ;  idem avec
Je comprend pas pourquoi je tombe toujours sur le else !!!!
C'tagassant !!!!!

Tout vient à qui sait attendre
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 15:11
Dis-moi, quand tu dis que le script marche, c'est vrai ? Si tu reviens voir cette discussion, peux-tu m'envoyer ton anim (inaden@free.fr) parce que si ça marche chez toi... je ne comprends plus rien. Le nom d'occurence de ton champs de saisi est bien "prenom" ?
Diable  ! 
 
Tout vient à qui sait attendre
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 15:12
En tout cas, merci de tes efforts

Tout vient à qui sait attendre Javascript:Insert_Emoticon('/imgs2/smile.gif');
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 15:17
TRÈS BIZARRE
Code dernière version :
var prenom_txt:String="";

function comparaison(){
    if(prenom_txt=="bob"){
        trace("if bob "+prenom_txt);
         reponse="Vous voulez dire Robert ???";
    }
    if((prenom_txt=="John")||(prenom_txt=="Bill")){
        trace("if john "+prenom_txt);
         reponse="Voilà un prénom qu'il est bon";
    }
    else{
        trace("else "+prenom_txt);
         reponse="Soyons sérieux, il portera ça toute sa vie !";
    }
}
       

monbouton.onPress=function(){
    prenom_txt=prenom.text;
    trace("le prénom est : "+prenom_txt);
    comparaison();
}

et dans le trace j'ai :
le prénom est : bob
if bob bob
else bob

C'est-à-dire qu'il prend le premier if quand j'entre "bob", mais qu'ensuite il prend le else ???



Tout vient à qui sait attendre
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 15:32
Qaund je ne mets qu'un if, cela marche très bien.
Quand (au lien de mettre un second if avec ||) je mets plusieurs if, cela marche avec le dernier if mais pas avec les autres.
Ca veut dire quoi ???

Tout vient à qui sait attendre
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 15:46
Donc voilà ce qui marche :
Il suffisait d'utiliser else if à la place de la série de if.
Merci de ta patience.

var prenom_txt:String="";

function comparaison(){
    if(prenom_txt=="bob"){
        trace("if bob "+prenom_txt);
         reponse="Vous voulez dire Robert ???";
    }
    else if((prenom_txt=="john")||(prenom_txt=="bill")){
        trace("if john "+prenom_txt);
         reponse="Voilà un prénom qu'il est bon";
    }
   else{
        trace("else "+prenom_txt);
         reponse="Soyons sérieux, il portera ça toute sa vie !";
    }
}
       

monbouton.onPress=function(){
    //prenom_txt="";
    prenom_txt=prenom.text;
    trace("le prénom est : "+prenom_txt);
    comparaison();
}
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 avril 2007 à 17:22
Yes j'ai tenté les deux et ça marche pour les deux.
Encore Merci
Tout vient à qui sait attendre
0
Rejoignez-nous