显示错误消息时设置计数器

时间:2012-07-05 14:48:53

标签: javascript jquery

我需要设置一个计数器来监控提交表单时生成的错误数量。错误由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或会话变量?

2 个答案:

答案 0 :(得分: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> 

答案 1 :(得分:0)

您可以使用jQuery.cookie插件

它非常简单易用。

设置Cookie:

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

要获得一个cookie,我想只是:

$.cookie('cookieName');

有一个选项可以让cookie持续用于会话,而不是上面过期时显示的天数。

相关问题