Bonsoir,
j'ai un chti problème de débutant mais je n'arrive pas à trouver la solution.
Le porblème donc c'est que dans un formulaire j'ai un textarea et dans ce textarea je voudrais que au bout de 250 caratère le textarea se mette en disabled or il s'y met tout le temps! j'ai essayer de mettre des: "si textarea==250 caractère alors disabled = true;" etc mais rien n'y fait!
j'implore votre aide
Voici mon code:
<html> <head> <title>
test avec getElementById </title> <scripttype="text/JavaScript"language="javascript">
function apercu() {
document.getElementById('apercu').innerHTML = document.getElementById("bou").value;
document.getElementById('nb').innerHTML = document.getElementById("bou").value.length;
if(document.getElementById("bou").value.length >= 250)
{
alert("Vous ne pouvez plus tapper de caractère.");
document.getElementById('bou').disabled=disabled;
}
else
{
document.getElementById('bou').disabled=;
}
}
Ensuite, du coté js, soit tu met disabled=true; (true = activé, donc la désactivation est activée lol).
Soit false.
Ce qui devrait donner:
//...
alert("Vous ne pouvez plus tapper de caractère.");
document.getElementById('bou').disabled=true;
}
else
{
document.getElementById('bou').disabled=false;
//...
Mais je ne sais si ta méthode est très pratique car une fois le champs de texte bloqué, on ne peut plus écrire (forcément), donc on ne peut pas corriger.
Je chercherais plutôt à anuler la frappe de la dernière touche, en renvoyant true ou false.
Pour celà il faut écouter l'évênement javascript qui se produit avant que la lettre ne s'inscrive (pour qu'on puisse l'anuler), donc on utilise plutôt onkeydown (au lieu de onkeyup):
event est utile pour vérifier la touche appuyée, si l'utilisateur appuye sur "retour arrière" pour effacer une lettre, on va pas lui dire "Vous ne pouvez plus écrire".
Donc on a une fonction apercu de ce genre:
function apercu(event){
document.getElementById('apercu').innerHTML = document.getElementById("bou").value;
document.getElementById('nb').innerHTML = document.getElementById("bou").value.length; if( event.keyCode < 32)//On laisse passer toute les touches dont le code est inférieur à 32 (la plupart des touches systèmes comme entré, echap etc) { returntrue; } elseif(document.getElementById("bou").value.length >= 250) { returnfalse; //document.getElementById('bou').disabled=true; } else { //document.getElementById('bou').disabled=false; returntrue; } }
[JS] disabled tout le temps or je ne le souhaite pas!!
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.