Javascript/html - lancer une fonction en écrivant dans un input
Résolu
Salut à tous, voila le truc : j'ai un champs input et je voudrais que, lorsque j'écris dedans, il appelle une fonction (quand je rajoute ou enlève une lettre). J'ai déjà trouvé l'attribut onchange="javascript: mafonction();" mais il faut enlever le focus pour que la fonction soit appelée, et je cherche du "temps réel", concernant les attributs onkeyup et onkeydown, ceci empêchent ma fonction de prendre en compte la dernière action (et donc lettre). Si vous avez une idée ...
Merci d'avance pour votre réponse.
Merci d'avance pour votre réponse.
5 réponses
-
C'est bon en fait ^^ j'ai trouvé :
on met un input type hidden et une fonction :
function verif()
{
if (document.getElementById("monChampInput").value != document.getElementById("monChampHidden").value) {
mafonction();
document.getElementById("monChampInput").value = document.getElementById("monChampHidden").value;
}
}
Voilaaa ^_^ -
ModérateurBonjour
en fait au lieu du onChange il faut utiliser onkeypress ou onkeuup
-
en fait onkeypress et onkeyup prennent pas en compte la lettre qui est tapée et donc ma fonction récupère pas la dernière lettre ^^ en fait j'ai trouvé : j'ai mis un onload avec un fonction verif() qui vérifie en boucle si la valeur de l'input est la même que sa valeur de sauvegarde (la dernière entrée) Merci quand même ^^
-
Modérateur
en fait onkeypress et onkeyup prennent pas en compte la lettre qui est tapée
Ah ?? Tu es sûr de toi ??
Testes ce code :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>TEST</title> </head> <body> <input type="text" onkeyup="maFonction(this.value);" id="input_1" value=""> <input type="text" id="input_2" value=""> </body> </html> <script type="text/javascript"> function maFonction(elmValue){ var inp_2 = document.getElementById('input_2'); inp_2.value = elmValue; } </script>
-
Ton code marche très bien pour moi aussi, là j'ai déjà trouvé la réponse mais merci quand même :)