Forum Clubic

Resolu Form limiter

bonjour :slight_smile:
j’ai trouvé cet exemple de form limiter pour indiquer le nombre de caractere restant et autorisé


<script>
  function limiteur()
    {
    maximum = 200;
    champ = document.formulaire.texte;
    indic = document.formulaire.indicateur;

    if (champ.value.length > maximum)
      champ.value = champ.value.substring(0, maximum);
    else 
      indic.value = maximum - champ.value.length;
    }
</script>

<form name="formulaire" action="">
  <textarea name="texte" cols="30" rows="5" onKeyDown="limiteur();" onKeyUp="limiteur();"></textarea>
  <br>
  Il vous reste <input readonly type=text name="indicateur" size="3" maxlength=3 value="200"> caractères.
</form>

sauf que je lui est trouvé 2 defaut
le 1er si on fait un copier coller le nombre de caracteres n’est plus prit en compte c’est un peu genant mais pas non plus dramatique
le 2eme en revanche est plus problematque dans l’exemple le nombre est limité a 200 caracteres mais si on fait un copier coller d’une page de 4000 carateres par exemple et que l’on poste le limiter ne fait plus du tout son boulot et les 4000 sont posté

je precise que aucune limite de carateres n’est ajouter au moment le script ecrit dans le fichier je sais que ce serait plus simple mais ce n’est pas le resultat que je recherche
si je bride a ce niveau la le poster va pensé que tout son commentaire va etre prit en compte alors qu’au final il en manquera la moitier

donc la question est comment faire une sorte de “refresh” du textarea par le formulaire lui meme ou autrement
merci bien :wink:
Message edité le 30/06/2007 à 12:16
Message edité le 30/06/2007 à 12:16
Edité le 30/06/2007 à 12:32

Tous les champs de formulaire, ou à peu près, supporte la propriété onchange.

www.w3.org…

Tu dois pouvoir limiter la taille avec ça.

Sans-Nom mon sauveur a chaque fois :wink:
j’ai essayé mais je n’ai pas reussi a le faire fonctionner avec onchange mais j’ai trouvé encore mieu

onSubmit="if ( this.message.value.length > 200 ) { return false ;}"

Si le contenu du textarea est > a 200 le bouton valider interdit le post

je ne sais pas si c’est coup de bol ou pas, ça a peu etre créé un probleme ailleurs je vais faire des test.
maintenant me reste plus qu’a trouvé comment affiché un message en cas de return false
alors je dit presque resolu ^^
merci bien :wink:

sauf que c’est onsubmit, pas onSubmit :slight_smile:

Et dans l’absolu :

return this.message.value.length <= 200;

tu t’éviteras des tracas.

en effet c’est mieu et plus simple
et pour mon message avec un
//autre code die(“message”); c’est resolu :wink:
merci beaucoup

[hors sujet]
il est bizare le forum dans la gestion des tag j’avais mis [HTML] mots clé html formulaire form et tout a disparu
j’ai voulu mettre [resolu] et il ne prend pas en compte enfin pas grave
[hors suhet]
Edité le 30/06/2007 à 12:04

Non, faut mettre html javascript dans les tags

Et résolu dans le titre.