2013-03-12 26 views
1
<script> 
function textCounter(field,field2,maxlimit) 
{ 
    var countfield = document.getElementById(field2); 
    if(field.value.length > maxlimit) 
    { 
    field.value = field.value.substring(0, maxlimit); 
    return false; 
    } 
    else 
    { 
    countfield.value = maxlimit - field.value.length; 
    } 
} 
</script> 
<textarea onkeyup="textCounter(this,'counter',50);" id="message"></textarea> 
<input disabled maxlength="3" size="3" value="50" id="counter"> 

當輸入數字或字符到textarea時,如何減少計數?如何減少計數,當輸入數字或字符到文本區

+0

你是什麼意思?「如何在數字沒有減少之後按幾秒鐘的時候按下計數法則」? – Mortalus 2013-03-12 03:47:57

+2

這似乎對我工作很好... http://jsfiddle.net/ExplosionPIlls/5Y6Kq/ – 2013-03-12 03:48:23

+0

你想限制在textarea中的字符? – Amrendra 2013-03-12 03:50:51

回答

0

既然你標記的jQuery我會假設你擁有它加載中...使用上的變化事件監測textarea的:http://api.jquery.com/change/

$('#message').change(function() { 
    // do stuff to counter 
}); 
0

嘗試......

function textCounter(field,field2,maxlimit) 
{ 
    var countfield = document.getElementById(field2); 
    var textfield = document.getElementById(field); 
    countfield.value = maxlimit - textfield.value.length; 
    if(countfield.value < 0) 
    { 
    textfield.value = textfield.value.substring(0,maxlimit); 
    countfield.value = 0; 
    } 
} 

<textarea onkeyup="textCounter('message','counter',50);" id="message"></textarea> 
<input disabled maxlength="3" size="3" value="50" id="counter"> 
0
function textCounter(field,field2,maxlimit) 
{ 
    var countfield = document.getElementById(field2); 

如果控件處於某種形式(可能它們是),則可以使用:

var countfield = field.form[field2]; 

if(field.value.length > maxlimit) 
    { 
    field.value = field.value.substring(0, maxlimit); 

哎唷,這有點討厭。爲什麼不讓用戶知道有太多字符,並讓他們去編輯這個值呢?

return false; 

那什麼都不做。

} 
    else 
    { 
    countfield.value = maxlimit - field.value.length; 
    } 
} 

應該沒有「其他」,只要寫入值,如果它是負值,用戶將知道修剪字符數。所以,你的函數可以是:

function textCounter(field,field2,maxlimit) 
{ 
    field.form[field2].value = maxlimit - field.value.length; 
} 

也有maxlength屬性,它不需要腳本的。

相關問題