javascript - 如何让 javascript 字符计数器添加多个文本框的总计

标签 javascript html arguments

我似乎无法在任何地方找到有关如何执行此操作的任何信息。我什至不知道使用 && 是否可以将文本框值添加在一起。我可以让计数器轻松计算一个或另一个框的数量,但我需要两个框中的文本来给出剩余的总字符数,前提是每个框中的组合字符不超过 500。

这是我的 JavaScript 计数器。

<SCRIPT type="text/javascript">
function textCounter(field,cntfield,maxlimit) 
{
  if (field.value.length > maxlimit)
    field.value = field.value.substring(0, maxlimit);
  else
    cntfield.value = maxlimit - field.value.length;
}
</script>

这是我的文本框。

    <form name="myForm">
    <textarea name="message1" wrap="physical" cols="28" rows="5"
    onKeyDown="textCounter(document.myForm.message1 && document.myForm.message2,document.myForm.chars,500)"
onKeyUp="textCounter(document.myForm.message1 && document.myForm.message2,document.myForm.chars,500)"></textarea>
<br>
<textarea name="message2" wrap="physical" cols="28" rows="5"
onKeyDown="textCounter(document.myForm.message1 && document.myForm.message2,document.myForm.chars,500)"
onKeyUp="textCounter(document.myForm.message1 && document.myForm.message2,document.myForm.chars,500)"></textarea>
<br>
<input readonly type="text" name="chars" size="3" maxlength="3" value="500">
characters left

最佳答案

看起来您正在尝试将两个对象作为第一个参数传递给函数 textCounter 。您不能将它们与&&(逻辑上的“与”)放在一起。 不过,您可以将对象数组传递给 textCounter。

textCounter( [document.myForm.message1,document.myForm.message2], ... )

从 textCounter 中,您可以通过索引访问对象

textCounter( fields, ... ) {
    if ( fields[0].value. length ... ){}
    if ( fields[1].value. length ... ){}
}

关于javascript - 如何让 javascript 字符计数器添加多个文本框的总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261852/

相关文章:

javascript - React.js - 如何在子组件中实现一个函数,以从同一父组件中卸载另一个子组件,并在其所在位置安装另一个组件?

html - <table><tbody> 可滚动?

javascript - fn.bind.apply(fn, arguments) 在做什么?

java - 如何将调用方法的对象作为参数传递给 Java 中的方法?

javascript - 这个简短的 Javascript 有什么问题?

javascript - Javascript 已经是响应式的了吗?

php - 编辑评论 - javascript、php 协同工作

html - Bootstrap navbar - 如何使 navbar-header 全宽

javascript - 我想使用 php 以网格形式显示 mySQL 数据库中的项目,但我得到了这个

javascript - 如果排除对象类型,如何删除后面的函数参数并将其移至左侧?