Bonjour à tous,
J'essaie de concevoir un script qui consiste à colorer les lettres d'un tableau quand on les saisit au clavier.
Comme je tente de commencer petit, je me suis limitée à la lettre E. Malgré que je pense avoir tout fait pour que ça fonctionne, la couleur ne prend pas quand je saisis "E" dans l'input...
J'ai mon script qui est correctement appelé avec un événement onkeypress dans l'input
Et j'ai un retour OK sur console.log("OK") quand je tape E
Toutefois, pas moyen que mon td se voie affecter la couleur définie dans la classe lettreselectionnee...
J'ai fait un pad pour vous faciliter la compréhension
https://plnkr.co/edit/CpNsI7eFFzqQeDI1JgEn?p=preview
Auriez-vous une idée de ce qui dysfonctionne, svp?
Un tout grand merci !
J'essaie de concevoir un script qui consiste à colorer les lettres d'un tableau quand on les saisit au clavier.
Comme je tente de commencer petit, je me suis limitée à la lettre E. Malgré que je pense avoir tout fait pour que ça fonctionne, la couleur ne prend pas quand je saisis "E" dans l'input...
<table class="boggle">
<tbody>
<tr>
<td id="P">P</td>
<td id="A">A</td>
<td id="S">S</td>
<td id="G">G</td>
</tr>
<tr>
<td id="Q">Q</td>
<td id="O">O</td>
<td id="B">B</td>
<td id="E">E</td>
</tr>
<tr>
<td id="D">D</td>
<td id="L">L</td>
<td id="C">C</td>
<td id="M">M</td>
</tr>
<tr>
<td id="N">N</td>
<td id="J">J</td>
<td id="T">T</td>
<td id="V">V</td>
</tr>
</tbody>
</table>
<form action="play.php" method="post">
<input type="text" name="mot" id="mot" maxlength="30" autocomplete="off" autofocus="" onkeypress="keypressed(event);" placeholder="mot">
<input type="submit" name="ok" value="ok" id="envoimot">
</form>
.lettreselectionnee {
background-color: #ECB445;
}
function whichCharIsIt(event) {
var keynum;
// identifier le caractère tapé
if (window.event) { // IE
keynum = event.keyCode;
} else if (event.which) { // Netscape/Firefox/Opera
keynum = event.which;
}
var caracteresaisi = String.fromCharCode(keynum).toLowerCase();
console.log("test " + caracteresaisi) // FONCTIONNE
if (caracteresaisi == 'e') {
console.log("OK") //FONCTIONNE
var caracteresaisigrille = document.getElementById('E');
caracteresaisigrille.classList.add("lettreselectionnee"); // NE FONCTIONNE PAS
}
function keypressed(event) {
whichCharIsIt(event);
isItTheEnd();
}
J'ai mon script qui est correctement appelé avec un événement onkeypress dans l'input
Et j'ai un retour OK sur console.log("OK") quand je tape E
Toutefois, pas moyen que mon td se voie affecter la couleur définie dans la classe lettreselectionnee...
J'ai fait un pad pour vous faciliter la compréhension
https://plnkr.co/edit/CpNsI7eFFzqQeDI1JgEn?p=preview
Auriez-vous une idée de ce qui dysfonctionne, svp?
Un tout grand merci !