0

每当有人刷新我的页面或在页面上提交表单(并且出现错误)时,单词计数器就会恢复到原始字符数。我的表格中有一个针对特定领域的单词计数器。

因此,每当有人尝试填写我们的表单时,我们的验证都会告诉他们必须填写特定问题并且不允许他们提交表单。我意识到我可以通过删除它说 textarea 不能留空的地方来快速修复验证。但这不是我可以想象的解决方案。

这是我的代码:

    <script language="javascript" type="text/javascript">

function textCounter(field,cntfld,maxlimit) {
    var cntfield = document.getElementById(cntfld);
if (field.value.length > maxlimit)
    field.value = field.value.substring(0, maxlimit);
else
cntfield.innerHTML = maxlimit - field.value.length;
}

</script>

其次是我的html

  <div>
    <textarea class="cf_inputbox required" rows="7" id="text_id"  title="title_test"  cols="50" name="text_id" onKeyDown="textCounter(this,'counter_length',200)"
onKeyUp="textCounter(this,'counter_length',200)"></textarea>
        <br/>
        <span id="counter_length">200</span> Left
  </div>

我如何修改我的代码,以便如果刷新页面或提交表单(有错误 - 因此验证开始),单词计数器将保持在当前数字而不回到 200?

4

1 回答 1

0

您需要定义将在页面加载时执行的函数。像这样的东西:

<script>
     function onPageLoad() {
          var field = document.getElementById("text_id");
           textCounter(field,'counter_length',200)
       }
</script>
<body onload="onPageLoad()">
   <!-- your markup-->
</body>

小提琴示例

于 2013-04-04T16:56:32.543 回答