Javascript/html - lancer une fonction en écrivant dans un input [Résolu/Fermé]

Signaler
Messages postés
232
Date d'inscription
dimanche 14 septembre 2014
Statut
Membre
Dernière intervention
1 septembre 2019
-
Messages postés
232
Date d'inscription
dimanche 14 septembre 2014
Statut
Membre
Dernière intervention
1 septembre 2019
-
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.

5 réponses

Messages postés
232
Date d'inscription
dimanche 14 septembre 2014
Statut
Membre
Dernière intervention
1 septembre 2019
5
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 ^_^
Messages postés
29911
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 907
Bonjour
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 ^^
Messages postés
29911
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 907
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>

Messages postés
232
Date d'inscription
dimanche 14 septembre 2014
Statut
Membre
Dernière intervention
1 septembre 2019
5
Ton code marche très bien pour moi aussi, là j'ai déjà trouvé la réponse mais merci quand même :)