我在html上製作的表單中使用了一個textarea字段,處理由php完成。我想限制用戶可以在textarea中輸入的字符數。有沒有什麼辦法可以做到這一點,因爲textarea字段然後存儲到MySQL數據庫,因此我必須根據字段的varchar值限制用戶數據。如何限制處理php的textarea字段中的字符數?
任何幫助?
我在html上製作的表單中使用了一個textarea字段,處理由php完成。我想限制用戶可以在textarea中輸入的字符數。有沒有什麼辦法可以做到這一點,因爲textarea字段然後存儲到MySQL數據庫,因此我必須根據字段的varchar值限制用戶數據。如何限制處理php的textarea字段中的字符數?
任何幫助?
您可以通過設置textarea標籤maxlength
屬性類似於HTML <textarea maxlength="120"></textarea>
和附加限制這種由substr()
功能「切」在PHP中輸入字符串。
如前所述通過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>
這應該讓你去。
你在onKeyDown屬性中有一個函數命名錯誤,「charLimiti」應該是「charLimit」 – thechrishaddad
我已經嘗試了很多不同的方式來限制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>
這是通過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個字符,它只是刪除它們。
<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>
不僅僅是代碼,還會給出一些細節,解釋等。只是一個想法 :) –
謝謝!這給了一個想法如何做到這一點!基本上我很困惑的是設置你剛纔建議的最大長度如何使用! – user1373168
據說在IE中不起作用 –
這隻適用於IE10 +,Firefox,Chrome,Safari。但不是歌劇。 – Napolux