Bonjour.
Je cherche à transmettre le texte d'une balise <input type="text" /> à un autre
Voici la manière dont je fais ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function getText(lineNumber) { var textContent = document.getElementById("line"+lineNumber).value; document.getElementById("hiddenLine"+lineNumber).value = textContent; }
avec "line"+lineNumber l'id de la ligne d'où je rentre du texte et "hiddenLine"+lineNumber l'id de la ligne où je veux recopier le texte.
Cette fonction se déclenche lorsque l'utilisateur presse une touche de son clavier dans la première zone de texte (onkeydown=getText(lineNumber)
Mon problème:
la deuxième zone texte est bien alimentée mais avec un caractère de retard: c'est lorsque la deuxième touche est tappée que la première est rentrée, lorsque la troisième est tappée que la deuxième est rentrée, etc...
J'ai tout d'abord essayé d'ajouter une deuxième fois la ligne "textContent = document.getElementById("line"+lineNumber).value;
" sans succès.
Puis j'ai rajouté des "alert(textContent);" après chaque récupération du textContent et là j'ai constaté quelque chose de bizarre: la première alerte renvoie l'ancien texte alors que la seconde alerte renvoie le nouveau texte.
Après toute une batterie de test, j'ai émis l'hypothèse qu'il fallait une interaction de l'utilisateur après chaque changement pour qu'il soit pris en compte.
Je voudrais donc comment s'y prendre soit pour que ma fonction marche sans alert, soit par quoi remplacer l'alerte qui n'est clairement pas une option utilisable. (dur d'avoir une alerte à chaque fois qu'on appuie sur une touche)
Merci d'avance.
Partager