0

フォームが送信されたときに生成されたエラーの数を監視するカウンターを設定できる必要があります。エラーは css クラス .validmissing によって強調表示されます。

したがって、ユーザーが送信時に 5 つのエラーを持っている場合 - カウンターは 1 に設定されます

ユーザーがフォームを再送信してから 3 つのエラーが発生した場合、同じセッションでカウンターを 2 に増やす必要があります。

<script type="text/javascript">
  var ErrorCounter = 0;
    $(document).ready(function() {
    if($('.validmissing').length > 0) {
       ErrorCounter = 1;
    else{
    ErrorCounter = 0;
          }
    });
  </script> 

Cookie またはセッション変数を設定する必要がありますか?

4

2 に答える 2

0

機能するCookieまたはセッション変数を使用できますが、以前のカウンターが保存されている入力隠しフィールドを使用することをお勧めします。

HTML

<form method="get">
<input type="hidden" value="" name="counter" id="counter" />
..........
..........
</form>

Javascript

 <script type="text/javascript">

//http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript


 function getParameterByName(name)
    {
      name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
      var regexS = "[\\?&]" + name + "=([^&#]*)";
      var regex = new RegExp(regexS);
      var results = regex.exec(window.location.search);
      if(results == null)
        return 0;
      else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
    }




      var ErrorCounter = 0;
        $(document).ready(function() {
        $("#counter").val(getParameterByName("counter"));
        if($('.validmissing').length > 0) {
           ErrorCounter = $("#counter").val();
           ErrorCounter = 1*ErrorCounter + 1;
           $("#counter").val(ErrorCounter);
        });
</script> 
于 2012-07-05T14:55:47.783 に答える
0

jQuery.cookie プラグインを使用できます

使い方はとても簡単です。

クッキーを設定するには:

$.cookie('cookieName', val, {path: "/", expires: 1})

クッキーを取得するには、次のように考えます。

$.cookie('cookieName');

上記の有効期限に示されている日数の代わりに、Cookie をセッションの間持続させるオプションもあります。

于 2012-07-05T15:01:57.553 に答える