<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 :(得分:0)
由于您标记了jQuery,我将假设您已将其加载...使用on change事件监视textarea:http://api.jquery.com/change/
$('#message').change(function() {
// do stuff to counter
});
答案 1 :(得分: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">
答案 2 :(得分: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;
}
}
应该没有“else”,只需写入值,如果是负数,用户将知道修剪字符数。所以你的功能可以是:
function textCounter(field,field2,maxlimit)
{
field.form[field2].value = maxlimit - field.value.length;
}
还有maxlength属性,根本不需要任何脚本。