【问题标题】:jQuery inline form validation - hidden fieldjQuery 内联表单验证 - 隐藏字段
【发布时间】:2012-02-20 12:03:52
【问题描述】:

我正在为我的项目使用以下验证器:http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

在将它与 Chosen (http://harvesthq.github.com/chosen/) 一起使用时遇到了一些困难,它用一些 div 替换了默认的“select”标签,并隐藏了 select 标签。

基本上,这与此处描述的问题完全相同:https://github.com/harvesthq/chosen/issues/473,但它不应该作为选择的问题,而是验证器。

所以问题是 - 是否有任何简单的解决方案可以使用该验证器来包含隐藏字段?我已经尝试删除所有说忽略隐藏字段的脚本源部分,但这并不能解决问题。每当我提交表单时,它都会验证除隐藏字段之外的所有字段。

提前感谢您的帮助

【问题讨论】:

    标签: jquery forms validation hidden


    【解决方案1】:

    在使用“选择美化器”jQuery 脚本时,我遇到了类似的问题。我没有隐藏原始选择,正如您所见,这意味着 jQuery 验证会忽略它,而是将其设置为 positionabsolute 并将其设置为远离页面的左侧位置:

    .hidden-field { 
        position: absolute;
        left: -9999px;
    }
    

    不过可能有更优雅的解决方案。

    【讨论】:

      【解决方案2】:

      上述解决方案不是一个理想的解决方案。如果你回到上面提到的 github 问题,你会看到一个更好的解决方案,它不涉及“破解”你正在使用的任何插件。

      【讨论】:

      • 感谢您的回复。事实上,黑客并不完美 - 使用不同的解决方案来避免它。
      【解决方案3】:

      这是我最终采用的解决方案,以防 some1 也需要它:

      function validateChosen(targetId){
      if ($('#'+targetId).val()=='') {
          valid=false;
          $('#'+targetId+'_chzn').validationEngine('showPrompt', '* Field required','','topRight',true);
        } else {
          $("."+targetId+"_chznformError").fadeOut("normal",function(){
            $(this).remove();
          });
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2012-12-06
        • 1970-01-01
        • 2015-10-05
        • 1970-01-01
        • 2012-06-28
        • 2017-02-06
        • 1970-01-01
        • 1970-01-01
        • 2017-06-17
        相关资源
        最近更新 更多