Maison  >  Article  >  interface Web  >  Comment implémenter dynamiquement des restrictions de longueur maximale sur les zones de texte ?

Comment implémenter dynamiquement des restrictions de longueur maximale sur les zones de texte ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-20 18:25:31552parcourir

How to Dynamically Implement Maximum Length Restrictions on TextAreas?

Imposer dynamiquement une longueur maximale sur les zones de texte

L'application de limites de caractères sur les zones de texte est essentielle pour garantir l'intégrité des données et éviter les erreurs de saisie des utilisateurs. Bien que HTML propose l'attribut « maxlength » pour les champs de saisie, il n'est pas directement pris en charge pour les zones de texte.

Une solution simple consiste à utiliser des gestionnaires d'événements tels que « onKeyPress » et « onKeyUp » pour surveiller et restreindre les entrées de l'utilisateur. Cependant, cette approche nécessite une implémentation manuelle pour chaque zone de texte.

Voici une solution JavaScript élégante qui automatise ce processus et impose dynamiquement « maxlength » sur n'importe quelle zone de texte :

<code class="javascript">window.onload = function() {
  var txts = document.getElementsByTagName('TEXTAREA');

  for(var i = 0, l = txts.length; i < l; i++) {
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) {
      var func = function() {
        var len = parseInt(this.getAttribute("maxlength"), 10);

        if(this.value.length > len) {
          alert('Maximum length exceeded: ' + len);
          this.value = this.value.substr(0, len);
          return false;
        }
      }

      txts[i].onkeyup = func;
      txts[i].onblur = func;
    }
  };
}</code>

Comment ça marche :

  • Le script commence par obtenir toutes les zones de texte de la page à l'aide de « getElementsByTagName ».
  • Il parcourt chaque zone de texte et vérifie si elle a un attribut 'maxlength' avec une valeur numérique.
  • Si cette condition est remplie, il attribue une fonction aux gestionnaires d'événements 'onkeyup' et 'onblur' de la zone de texte.
  • La fonction récupère l'attribut 'maxlength' et le compare à la longueur actuelle du texte.
  • Si la longueur du texte dépasse le maximum, un message d'alerte s'affiche, le texte est tronqué et l'événement est empêché.

En utilisant ce script, les développeurs peuvent facilement appliquer « maxlength » sur n'importe quelle zone de texte de leurs pages Web sans avoir besoin d'une gestion manuelle des événements.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn