Bonsoir � tous !

Dans le cadre de mes �tudes, j'ai commenc� il y a quelques semaines � �tudier html/css/javascript et j'ai un projet � rendre bient�t. Ce projet concerne la mise en place d'un Sudoku en utilisant html/css/javascript.

Et il se trouve que j'ai un petit probl�me. Je vais essayer d'�tre le plus clair possible: Notre professeur nous a fourni un code javascript contenant la grille initiale du sudoku :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
var grid0 = [
             [8, 5, 2, null, 6, 3, 9, null, 4],
             [null, null, null, null, null, 9, null, 6, null],
             [null, null, 9, null, null, null, null, null, 1],
             [null, 4, 8, 9, null, null, 6, null, 2],
             [null, null, 3, 2, null, 1, 7, null, null],
             [1, null, 7, null, null, 5, 4, 9, null],
             [2, null, null, null, null, null, 5, null, null],
             [null, 8, null, 7, null, null, null, null, null],
             [4, null, 1, 3, 5, null, 2, 8, 7]
             ];
J'ai donc cr�e un tableau en html repr�sentant cette grille. Et pour chaque case vide, j'ai mis un input text. En voici par exemple un :
Code html : S�lectionner tout - Visualiser dans une fen�tre � part
<input type="text" id="1-0" class="input", MAXLENGTH="1" onchange="verif(this.id)"/>

L'utilisateur rentre donc un chiffre. Le changement de valeur de l'input va lancer la fonction verif() . Je vous �pargne tout le code de cette fonction pour vous donner uniquement l� o� �a cloche:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
if (val != ""){
   ...
grid0[ligne][colonne] = parseFloat(val);
}
if (val == ""){
  grid0[ligne][colonne] = null;
}
Ici, val est la valeur que l'on trouve dans l'input en question. Si val != "", c'est � dire si l'utilisateur a rentr� un chiffre, alors cette fonction va v�rifier que le chiffre entr� par l'utilisateur ne se trouve ni d�j� sur la ligne, ni d�j� sur la colonne, ni d�j� dans le carr�. Et si apr�s v�rification, il se trouve que le chiffre rentr� est juste, alors on le met dans la grille initiale javascript � la place du null.

Cette partie l� fonctionne bien. Mais c'est avec l'autre if que �a coince. Si val est �gal � "", c'est � dire s'il n'y a rien de rentr� dans la case, alors on met null dans la grille initiale.
En fait, avec cette partie je souhaitais g�rer la situation o� l'utilisateur rentre une valeur juste dans l'input puis la supprime. Si elle est juste, elle est rajout�e � la grille initiale javascript. Mais si apr�s l'utilisateur d�cide de l'effacer bien qu'elle semblait juste, alors sa valeur reste dans la grille initiale, ce qui fausse les autres v�rifications. Du coup, avec ce second if, je voulais remettre null dans la grille si l'utilisateur efface son chiffre.

Seulement, pour une raison qui m'�chappe, �a ne marche pas. On dirait que le onchange g�re seulement quand l'utilisateur rentre un chiffre, pas quand il en efface un. Quand j'efface un chiffre, ma fonction ne rentre pas dans ce second if.

Pouvez-vous m'expliquer pourquoi ?

Merci d'avance, et d�sol� si c'est un peu long !