Maison > interface Web > js tutoriel > Comment appliquer dynamiquement la longueur maximale du texte dans les zones de texte à l'aide de JavaScript ?

Comment appliquer dynamiquement la longueur maximale du texte dans les zones de texte à l'aide de JavaScript ?

Patricia Arquette
Libérer: 2024-10-20 18:20:03
original
870 Les gens l'ont consulté

How to Dynamically Enforce Maximum Text Length in Text Areas Using JavaScript?

Un guide complet pour imposer une longueur maximale aux zones de texte en HTML à l'aide de JavaScript

Dans le développement Web, il est souvent nécessaire de contrôler la longueur maximale du texte saisi dans le texte zones. Ce scénario nécessite que vous appliquiez automatiquement l'attribut maxlength sur plusieurs zones de texte. Alors que les solutions précédentes impliquaient une gestion manuelle des événements pour chaque zone de texte, nous explorerons une approche alternative qui élimine le besoin de code répétitif.

Solution :

La clé de cette solution réside dans la capacité de JavaScript pour analyser la page à la recherche de toutes les zones de texte et ajouter dynamiquement des écouteurs d'événements à ceux appropriés. En tirant parti de l'événement onload, nous avons accès à l'intégralité du contenu de la page lors du chargement, y compris toutes les zones de texte.

window.onload = function() {
Copier après la connexion

Maintenant, nous pouvons parcourir le document en recherchant tous les éléments avec la balise TEXTAREA :

var txts = document.getElementsByTagName('TEXTAREA');
Copier après la connexion

Ensuite, nous parcourons chaque zone de texte pour vérifier si elle possède un attribut maxlength valide. Notez que nous utilisons une expression régulière pour garantir que la valeur maxlength est un nombre.

for(var i = 0, l = txts.length; i < l; i++) {
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) {
Copier après la connexion

Pour chaque zone de texte qualifiante, nous définissons une fonction de rappel pour valider la longueur maximale. Cette fonction va :

  1. Récupérer la valeur de l'attribut maxlength sous forme d'entier
  2. Vérifier si la longueur actuelle de la valeur de la zone de texte dépasse la longueur maximale
  3. Si elle est dépassée , affichez un message d'alerte et tronquez la valeur à la longueur maximale autorisée
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;
    }
}
Copier après la connexion

Enfin, nous attachons cette fonction de rappel à la fois aux événements keyup et blur de la zone de texte.

txts[i].onkeyup = func;
txts[i].onblur = func;
Copier après la connexion

Cette approche globale fournit une solution transparente pour imposer automatiquement une longueur maximale à toutes les zones de texte qualificatives d'une page Web sans avoir besoin de gérer des événements répétitifs.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal