Javascript vérifier si la valeur entrer dans un champ est bien dans mon tableau. [Résolu]

Messages postés
28
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
9 juin 2012
- - Dernière réponse : Madonnina78
Messages postés
28
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
9 juin 2012
- 3 mai 2012 à 23:26
Bonjour je voudrais arrivé à contrôler si la valeur entrer dans mon champ texte se trouve bien dans mon tableau " t "

donc si j'entre bonjour j'ai une alerte qui dit qu'il se trouve bien dans mon tableau, si j'écris tout autre chose il me dit que le mot ne se trouve pas dans mon tableau

et je n'y arrive pas :(

Si quelqu'un peut m'aider svp?

D'avance merci


<!DOCTYPE html>
<meta charset="utf-8">
<title>exercice 7></title>
<head>
<script type="text/javascript">


var t = new Array("");
t.push("bonjour");
t.push("bonsoir");
t.push("demain");




function mot(param1)
{
var txt = param1.value; /*recupere la valeur*/
toto(); /*appel de la fonction*/
}






function toto()
{


if (txt == t)
{
alert("Votre valeur se trouve bien dans le tableau");
}


else
{
alert("Votre valeur ne se trouve pas dans le tableau");
}
}


</script>
</head>








<script type="text/javascript">

document.write (t);

</script>
</html>
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
10
3
Merci
Salut,

google aurait pu t'aider plus rapidement que moi. Pour les petites questions simples il faut toujours demander à google Bon, même pour les questions compliquées faut toujours demander à google en premier lieu.

Sinon : l'objet Array possède une fonctione indexOf() qui, pour une entrée recherchée, retourne son index dans le tableau. Si l'élément n'est pas trouvé la fonction retournera -1.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
10
3
Merci
Re,

vu que tu as fait l'effort de pondre un peu de code je vais essayer de t'expliquer plusieurs choses.

Déjà, et même si javascript est permissif, il ne faut pas faire d'erreur sur la portée de tes variables.
Ainsi, ta variable txt ne devrait pas être visible à l'intérieur de la fonction toto().
Il faut donc passer par un paramètre (ou une variable globale, mais c'est moins propre).

Ta fonction devra ressembler à truc du genre :
function toto(sToFind) {
// le contenu de la fonction
}

Ta fonction d'appel doit, elle, ressembler à un truc comac :
function mot(param1) {
var txt = param1.value;
toto(param1.value);
}


Ensuite je rappelle que la fonction indexOf() renvoie l'index (la position dans le tableau) de la chaîne recherchée. Ce chiffre peut varier de 0 (premier élément du tableau) à n-1 (n étant le nombre d'éléments de ton tableau). Si la valeur n'est pas trouvée, la fonction renvoie -1. Tu comprendras donc que comparer ce chiffre à ta valeur recherchée n'a pas de sens. Ta condition doit être : est-ce que je suis égale à -1.

J'espère t'avoir aidé, je ne pourrai pas en dire plus.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jopop
Messages postés
28
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
9 juin 2012
0
Merci
Bonjour,


Merci mais en code ça donne quoi ?
Commenter la réponse de Madonnina78
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
10
0
Merci
Suis le lien que j'ai mis, il y a un exemple.
Commenter la réponse de cs_jopop
Messages postés
28
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
9 juin 2012
0
Merci
Désolée je ne comprend pas :(


<!DOCTYPE html>
<meta charset="utf-8">
<title>exercice 7></title>
<head>
<script type="text/javascript">


var t = new Array("");
t.push("bonjour");
t.push("bonsoir");
t.push("demain");




function mot(param1)
{
var txt = param1.value; /*recupere la valeur*/
toto(); /*appel de la fonction*/
}






function toto()
{

var i = t.indexOf("item",4);
if (txt == i)
{
alert("Votre valeur se trouve bien dans le tableau");
}


else
{
alert("Votre valeur ne se trouve pas dans le tableau");
}
}


</script>
</head>








<script type="text/javascript">

document.write (t);

</script>
</html>
Commenter la réponse de Madonnina78
Messages postés
28
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
9 juin 2012
0
Merci
Merci juste une dernière chose... dois-je faire une boucle pour parcourir le tableau ou c'est pas obligatoire?
Commenter la réponse de Madonnina78
Messages postés
28
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
9 juin 2012
0
Merci
Un grand merci j'y suis arrivée il faut juste ne pas oublié de revenir dans le champ si on veut testé une deuxième fois car la fonction mot s'active avec onBlur="mot(this)"

Alléluia ;-)

<!DOCTYPE html>
<meta charset="utf-8">
<title>andrea 2</title>
<head>
<script type="text/javascript">
var t = new Array("salut");
t.push("bonjour");
t.push("bonsoir");
t.push("demain");

function mot(param1) {
var txt = param1.value;
/*recupere la valeur*/
toto(txt);
/*appel de la fonction*/
}

function toto(txt) {

var index = t.indexOf(txt);

if(index == -1) {
alert("Votre valeur ne se trouve pas dans le tableau");
} else {
alert("Votre valeur se trouve dans le tableau");
}
}
</script>
</head>




<script type="text/javascript">
document.write(t);

</script>
</html>



Encore merci pour ton aide ...
Commenter la réponse de Madonnina78