2013-02-22 20 views
9

Burada "maxlength" özniteliğini eklediğinizde, textarea için maxlength'yi zorlamak için Jquery 'dir. Maxlength, IE ile desteklenmiyor. Kodumu, sayfada birden çok metin (ler) i işlemek için nasıl ayarlayabilirim? Şu anda , herhangi bir textarea'ya metin eklerseniz, hepsi aynı değerle geri sayılır.Jquery, textarea'daki maxlength'i güçlendirmeye yardımcı olur mu?

jQuery:

$(document).ready(function() { 

maxLength = $("textarea").attr("maxlength"); 
    $("textarea").after("<div><span id='remainingLengthTempId'>" 
       + maxLength + "</span> remaining</div>"); 

    $("textarea").bind("keyup change", function(){checkMaxLength(this.id, maxLength); }) 

}); 

function checkMaxLength(textareaID, maxLength){ 

    currentLengthInTextarea = $("#"+textareaID).val().length; 
    $(remainingLengthTempId).text(parseInt(maxLength) - parseInt(currentLengthInTextarea)); 

    if (currentLengthInTextarea > (maxLength)) { 

     // Trim the field current length over the maxlength. 
     $("textarea").val($("textarea").val().slice(0, maxLength)); 
     $(remainingLengthTempId).text(0); 

    } 
} 

Html:

Skills: 
<textarea id="1" maxlength="200" rows="10" cols="60" ></textarea> 

Postions: 
<textarea id="2" maxlength="200" rows="10" cols="60" ></textarea> 

Comments 
<textarea id="3" maxlength="100" rows="10" cols="60" ></textarea> 
+0

http://api.jquery.com/each – Blazemonger

+2

http://keith-wood.name/maxlength.html –

+0

Balzemonger..her her biri kullanılır mı? – Chaka

cevap

14

Bu en iyi çözüm!

$("textarea[maxlength]").on("propertychange input", function() { 
    if (this.value.length > this.maxlength) { 
     this.value = this.value.substring(0, this.maxlength); 
    } 
}); 

ve şimdi <textarea maxlength="{your limit}"></textarea>{your limit} için karakter limiti kullanmak HTML kodu içinde komut dosyası etiketine koy.

+0

bu bir max gen genişletme şeydir? veya hem giriş hem de tekstüre öğeleri için maxitgth bir yasal javascript özelliği mi? – Matt

9

çözüm buradadır:

http://web.enavu.com/daily-tip/maxlength-for-textarea-with-jquery/

$(document).ready(function() { 

    $('textarea[maxlength]').keyup(function(){ 
     //get the limit from maxlength attribute 
     var limit = parseInt($(this).attr('maxlength')); 
     //get the current text inside the textarea 
     var text = $(this).val(); 
     //count the number of characters in the text 
     var chars = text.length; 

     //check if there are more characters then allowed 
     if(chars > limit){ 
      //and if there are use substr to get the text before the limit 
      var new_text = text.substr(0, limit); 

      //and change the current text with the new text 
      $(this).val(new_text); 
     } 
    }); 

}); 
1

Cant bu kullanın:

class="validate[required,maxSize[50]] " 
+1

Bu bağlantıyı kontrol etmek isteyebilirsiniz .. "biraz" bozuk .. – DerDu

0

Bu çözüm doğal HTML metin alanı, MAX-Uzunluk özelliği olarak çalışmaktadır

Var MaxLength=100; 
$('#Selector').keydown(function (e) { 
      var text = $(this).val(); 
      var chars = text.length; 
      if (chars > MaxLength) { 
       if (e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) { 
        return true; 
       } 
       return false; 
      } 
      return true; 
     }); 

sunucu tarafında kontrolünde MaxLength özelliği (asp: TextBox) belirlemeyin sunucusu olarak tarayıcınıza dönerken maxLength özelliğini HTML biçimlendirmesine dönüştürmez.

İlgili konular