2

我想使用 JQuery Validation Engine 插件来查看动态添加的隐藏输入字段。

提交表单时,必须至少有一个字段存在。

它试图通过 groupRequired Validator 来实现这一点

http://posabsolute.github.com/jQuery-Validation-Engine/#validators/grouprequired

<link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/>
                     <script>
                    $(document).ready(function(){
                        $("#tagform").validationEngine();
                       });
                    </script>
        <form id="tagform">
               <input type="hidden" name="tags" id="tags-input" />
                    <input type="hidden" name="inc" value="locate">
                    <input type="hidden" class="validate[groupRequired[tagitem]]" name="validation">
                    <br><br>
                    <input type="submit" value="Save Tags">

        </form>

添加的字段如下所示:

 var formhtml ='<input type="hidden" name="tags[]" class="validate[groupRequired[tagitem]]" id="id'+itemid+'" parenttag="'+parent+'" value="'+itemid+'">';
                $("#tagform").append(formhtml);

目前它根本不检查隐藏字段。

知道如何解决此问题或其他方法吗?

解决方法

使用一个简单的 javaskript onSubmit 函数来检查标签的出现

function checkForm(form)
{
var count = $('input[name="tags[]"]').length;
if(count == 0 ) {
   alert("Select at least one tag");       
   return false;
}
alert ("Count " + count)
return true;
}

仍然喜欢使用 Jquery Validation Engine

4

1 回答 1

7

使用 validateNonVisibleFields 实例化 JQuery 验证

   <script>
    $(document).ready(function(){
        $("#formID").validationEngine({validateNonVisibleFields: true,
        updatePromptsPosition:true});

       });
    </script>

您仍然有 Jquery / Javascript 无法获得隐藏字段位置的问题。所以使用 style visibility:hidden 代替。

<input name="hiddenq2" type="text" value="" class="validate[required]" jqtop="500" id="form-validation-field-1" style="visibility: hidden">

您可能仍然需要使用 promptPosition 选项进行一些调整,但至少会显示一些内容。

于 2013-08-26T11:28:20.617 回答