2010-06-24 3 views

Répondre

0

Vous pouvez utiliser un validateur JavaScript. Par exemple,

function limitText(limitField, limitCount, limitNum) { 
     if (limitField.value.length > limitNum) { 
      limitField.value = limitField.value.substring(0, limitNum); 
     } else { 
      limitCount.value = limitNum - limitField.value.length; 
     } 
    } 
<textarea name="limitedtextarea" onKeyDown="limitText(this.form.limitedtextarea,this.form.countdown,255);" 
1

La balise HTML <textarea> ne supporte pas la propriété « maxlength ». Une variété de solutions Javascript existent, certaines pour les frameworks et d'autres autonomes. Fondamentalement, il est nécessaire d'attraper les événements keypress (avec Javascript) et suivre la longueur du contenu. Habituellement, certains messages aux utilisateurs sont considérés comme une très bonne idée, tout comme les boîtes de commentaires de Stackoverflow.

0

Ceci empêchera l'insertion ou le collage de texte plus long dans les zones de texte. Tout ce que vous devez faire est d'ajouter l'attribut 'maxlength'.

$(function() { 
    //This bit will prevent the user from typing in too many characters... 
    $('textarea').keypress(function (e) { 
     //TODO: error handling... 
     var limit = parseInt($(this).attr('maxlength')); 
     var currentText = $(this).val(); 
     var chars = currentText.length; 

     //too many charaters? 
     if (chars >= limit) { 
      e.preventDefault(); //cancel the key press 
     } 
    }); 

    //This bit will prevent the user pasting in long strings... 
    $('textarea').bind('paste', function() { 
     //TODO: error checking 
     var limit = parseInt($(this).attr('maxlength')); 
     var element = $(this); 
     setTimeout(function() { 
      var currentText = element.val();    
      var chars = currentText.length; 
      if (chars > limit) {     
       //get the first 'n' characters 
       var newText = currentText.substr(0, limit); 
       //and replace the text. 
       element.val(newText); 
      } 
     }, 10); 
    }); 
}); 
Questions connexes