0

誰かが私のページを更新したり、ページ上でフォームを送信したり (そしてエラーが発生した場合) するたびに、単語カウンターは元の文字数に戻ります。特定のフィールドのフォームに単語カウンターがあります。

そのため、誰かがフォームに入力しようとすると、検証により、特定の質問に入力する必要があることが通知され、フォームの送信が許可されません。テキストエリアを空のままにすることはできないと書かれている場所を取り除くことで、検証をすばやく修正できることに気付きました。しかし、それは私が想像できる解決策ではありません。

ここに私が持っているコードがあります:

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

ページが更新された場合、またはフォームが送信された場合 (エラーが発生したため、検証が開始された場合) に、単語カウンターが CURRENT 数のままで 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 に答える