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>
A voir également:
Entrer dans le champ
Vérifier si une valeur existe dans un tableau javascript - Meilleures réponses
Comment savoir si mon tableau a de la valeur - Meilleures réponses
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.
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.
<!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>
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>