在文本区域输入数字或字符时,如何减少计数


How to decrease the count, when entering numbers or characters into the textarea

<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">

在文本区域输入数字或字符时,如何减少计数?

既然你标记了jQuery,我假设你已经加载了它。。。使用on change事件监视文本区域:http://api.jquery.com/change/

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

试试这个。。。

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">
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属性,它根本不需要脚本。