Javascript/html - lancer une fonction en écrivant dans un input

Résolu
electroking Messages postés 276 Statut Membre -  
electroking Messages postés 276 Statut Membre -
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.
A voir également:

5 réponses

electroking Messages postés 276 Statut Membre 6
 
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 ^_^
0
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
Bonjour
en fait au lieu du onChange il faut utiliser onkeypress ou onkeuup
0
electroking
 
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 ^^
0
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
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>

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
electroking Messages postés 276 Statut Membre 6
 
Ton code marche très bien pour moi aussi, là j'ai déjà trouvé la réponse mais merci quand même :)
0