jQuery 验证在第二次错误时失败

标签 jquery css jquery-validate

问题图片: http://tinypic.com/view.php?pic=2duwlsp&s=5

问题描述:我有一个 jQuery 表单验证“有效”,除了一个视觉错误。当您第一次导致验证错误时,一切都会按预期显示。但是,如果您修复错误,然后重新导致错误,则图像不会在第二次出现。

有关问题的图片,请参见上面的屏幕截图。

我的代码:

 <script type="text/javascript">
    $(document).ready(function(){
      $('#signupform').validate({
           wrapper: 'span class="error"',
           meta: 'validate', 
           highlight: function(element, errorClass, validClass) {
               if (element.type === 'radio') {
                      this.findByName(element.name).addClass(errorClass).removeClass(validClass);
              } else {
                      $(element).addClass(errorClass).removeClass(validClass);
               }

              // Show icon in parent element
              var error = $(element).parent().find('span.error');

              error.siblings('.icon').hide(0, function() {
                error.show();
              });
            },


             unhighlight: function(element, errorClass, validClass) {
              if (element.type === 'radio') {
                this.findByName(element.name).removeClass(errorClass).addClass(validClass);
              } else {
                $(element).removeClass(errorClass).addClass(validClass);
              }

              // Hide icon in parent element
              $(element).parent().find('span.error').hide(0, function() {
                $(element).parent().find('span.valid').fadeIn(200);
              });
            },
            "rules":{"username":{"required":true,"remote":{"url":"http:\/\/localhost\/welcome\/remote","type":"post"}}},"onkeyup":false});
             });
 </script>

我的尝试:我尝试查看突出显示和取消突出显示功能。我的“猜测”是错误在“取消突出显示”部分,因为它只发生在第二个错误之后(即突出显示、取消突出显示、突出显示->错误)

所以也许我正在删除我不应该删除的内容?

最佳答案

解决了。变化

         // Show icon in parent element
          var error = $(element).parent().find('span.error');

          error.siblings('.icon').hide(0, function() {
            error.show();
          });

         // Show icon in parent element
          var error = $(element).parent().find('span.error');

            error.show();
          },

关于jQuery 验证在第二次错误时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10120523/

相关文章:

javascript - jQuery - 将更改应用于与变量号匹配的元素

javascript - 通过 JavaScript 添加图像 slider 计数器

Javascript onchange 函数不适用于 PHP

css - chrome 资源 css 查看器中这个奇怪的字符是什么?

javascript - jquery 验证标签定位不起作用

javascript - setInterval 和 css() jQuery

html - flex-basis : auto and flex-basis: content? 之间有什么区别

javascript - 如何设置文本 product-template.liquid 的样式并根据文本长度放置一个椭圆形 Shopify

javascript - JQuery 验证 - trim 空格

c# - MVC 4 中单个选择下拉列表的验证