2

JQuery Validation Engine プラグインを使用して、動的に追加された非表示の入力フィールドを確認したいと考えています。

フォームが送信されるとき、このフィールドの少なくとも 1 つがそこにある必要があります。

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 に答える