2012-05-06 42 views
9

我在html上製作的表單中使用了一個textarea字段,處理由php完成。我想限制用戶可以在textarea中輸入的字符數。有沒有什麼辦法可以做到這一點,因爲textarea字段然後存儲到MySQL數據庫,因此我必須根據字段的varchar值限制用戶數據。如何限制處理php的textarea字段中的字符數?

任何幫助?

回答

18

您可以通過設置textarea標籤maxlength屬性類似於HTML <textarea maxlength="120"></textarea>和附加限制這種由substr()功能「切」在PHP中輸入字符串。

+0

謝謝!這給了一個想法如何做到這一點!基本上我很困惑的是設置你剛纔建議的最大長度如何使用! – user1373168

+0

據說在IE中不起作用 –

+0

這隻適用於IE10 +,Firefox,Chrome,Safari。但不是歌劇。 – Napolux

8

如前所述通過s.webbandit可以使用maxlength,但請注意,這是一個新的功能在HTML5介紹,作爲W3學校article<textarea>,因此「刀槍不入」的解決方案需要的JavaScript。所以maxlength而不是在Internet Explorer中支持,直到版本10和Opera都沒有。

下面是一個使用Javascript功能來幫助你一個方法:

<script language="javascript" type="text/javascript"> 
    function charLimit(limitField, limitCount, limitNum) { 
    if (limitField.value.length > limitNum) { 
     limitField.value = limitField.value.substring(0, limitNum); 
    } else { 
     limitCount.value = limitNum - limitField.value.length; 
     } 
    } 
</script> 

然後,您可以使用它像這樣(original source):

<textarea name="limitedtextarea" onKeyDown="charLimit(this.form.limitedtextarea,this.form.countdown,100);"> 
    </textarea> 

這應該讓你去。

+0

你在onKeyDown屬性中有一個函數命名錯誤,「charLimiti」應該是「charLimit」 – thechrishaddad

1

我已經嘗試了很多不同的方式來限制textareas中的文本,並且我發現的最好的(客戶端)是jQuery.Maxlength.js插件。簡單快速,涵蓋所有!

步驟1.包含插件MAXLENGTH腳本

<script language="javascript" src="jquery.maxlength.js"></script> 

步驟2. maxlength屬性來

<textarea maxlength="35" 
    rows="5" cols="30" name="address"></textarea> 

第3步:初始化插件

<script type="text/javascript"> 
    $(document).ready(function($) { 
      //Set maxlength of all the textarea (call plugin) 
      $().maxlength(); 
    }) 
</script> 

https://github.com/viralpatel/jquery.maxlength

4

這是通過JavaScript限制文本區域長度的一種非常簡單的方法。

文本區域字段:

<input class='textField' type='text' NAME='note1' value='' onkeyup='charLimit(this, 40);'> 

JavaScript函數:

function charLimit(limitField, limitNum) { 
    if (limitField.value.length > limitNum) { 
    limitField.value = limitField.value.substring(0, limitNum);} 
} 

當用戶鍵入過去的40個字符,它只是刪除它們。

0
<script type="text/javascript"> 
     $(document).ready(function(){ 
     var maxChars = $("#sessionNumtext"); 
     var max_length = maxChars.attr('maxlength'); 
     if (max_length > 0) { 
      maxChars.bind('keyup', function(e){ 
       length = new Number(maxChars.val().length); 
       counter = max_length-length; 
       $("#sessionNum_counter").text(counter); 
      }); 
     } 
    }); 
</script> 

<textarea name="sessionNumtext" id="sessionNumtext" maxlength="20" type="text"></textarea> 
kalan karakter sayısı: <span id="sessionNum_counters">20</span> 
+1

不僅僅是代碼,還會給出一些細節,解釋等。只是一個想法 :) –