Bonjour à tous,
j'ai fait un petit formulaire et j'aimerais cacher avec JavaScript le submit si mon textarea est vide,
voici mon code:
<form method="post" action="#">
<textarea id="champ"></textarea>
<input type="submit" value="Envoyer" id="send"/>
</form>
<script type="text/javascript">
champ = document.getElementById('champ');
send = document.getElementById('send');
send.disabled = true;
champ.onchange = function(){
if(this.value != '')
send.disabled = false;
else{
send.disabled = true;
}
}
</script>
Sa fonctionne bien, mais pour afficher ou masquer le bouton "envoyer" il faut cliquer à coter du formulaire, ce qui est gainant...
Donc si quelqu'un a une solution, je suis preneur.
Merci d'avance.
onchange est appelé seulement à la perte du focus.
Essayes plutôt de surveiller l’évènement clavier :
<script type="text/javascript">
champ = document.getElementById('champ');
send = document.getElementById('send');
send.disabled = true;
champ.onkeydown = function(){
if(this.value != '')
send.disabled = false;
else{
send.disabled = true;
}
}
</script>
remplace ton onchange par un onkeyup (je suis plus sur de l'evenement mais c'est un truc du genre :D)
Oui le keyup est plus judicieux que le keydow, car tu pourras récupérer la valeur.