Bien le bonjour la communauté !
J'ai un petit souci avec .val() que j'utilise dans un test
En résumé, j'ai une grille (pour ceux qui n'auraient pas suivi mes pérégrinations dans l'autre topic, une grille de SUDOKU)
Mon but, c'est qu'un fois que l'utilisateur a tout remplis la grille, cela m'affiche en vert tous les résultats avec un message de félicitation.
mais si, alors que la dernière case est rempli, il reste une erreur, alors il me le dit.
Mais passons, car mon problème se situe au tout départ de ce test en effet voici mon code :
Comme on peut le voir, je lui demande de me passer la variable "rempliok" en FALSE, s'il croise une cellule dont la valeur est vide ".val()==''
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 for(k=0;k<9;k++){ if(erreur==true){// si la variable erreur = true alert("HOP HOP HOP ! Il vous reste une erreur \340 corriger"); break;// sort de la boucle } else{ for(m=0;m<9;m++){ valID = k + '-' + m; //alert("valeur de la cellule " + valID + " est : " + $('#'+valID+'').val()+"*"); if ($('#'+valID+'').val()==''){ rempliok=false; break; } else{ rempliok=true; } } } } if((rempliok==true)&&(erreur==false)){// si la variable erreur = true (donc que tous les input sont remplis) et que rerreur=false (donc qu'aune erreur n'est déclarée) $(".grille").css("color","#8ee4ae"); // Une fois tout le tableau vérifié, si tu es arrivé jusque là sans erreur passe tout ce qui à la classe grille en "VERT" alert("Bravo ! Vous avez bien trich\351. Mais on admettra que vous avez pu aussi \352tre honn\352te et bon"); }
S'il n'en croise pas (et que donc le tableau est rempli, alors il passe ma variable "rempliok" en "true".
Or quoiqu'il advienne, il execute la dernière commande et me passe tout en vert (ce qui veut donc dire qu'il me transforme ma variable "rempliok" en "true" et que donc, il ignore les cellules vides
D'ailleurs, lorsque j'affiche l'alerte (en ligne 9), c'est assez claire, je vois bien qu'arrivé dans une cellule vide, il m'affiche "4-3 : " (donc aucune valeur) mais il continue pourtant à parcourir la grille, alors qu'il devrait sortir (ce que je lui demande avec "break;")
Ainsi, j'en déduis que la syntaxe est mauvaise.
j'ai essayé, .val()==false / .val()==null
Rien n'y fait.
il ne reconnait pas la nature "vide" de la cellule comme je le souhaiterais
Qu'est-ce que j'écris mal ?
Partager