0

検証目的で jquery 検証プラグインを使用しました。動的コントロールを作成し、そのコントロールにルールを追加していますが、送信ボタンをクリックすると、最初のフィールドのみが検証され、他のフィールドは検証されません。最初のフィールド値が満たされた場合、フォームは送信されますが、他のフィールドは考慮されません。この問題を解決する方法。どんな助けでも大歓迎です。

コード:

<script type="text/javascript">
    $(document).ready(function () {
        var count = 0;
        $("#dynamicControlForm").validate();
        $("#AddControls").click(function () {
            count++;
            var elements = "<input type='text' id='txt" + count + "'class='required'/><br/></br>";
            $(elements).appendTo("#dynamicControlForm");
            $(".required").rules("add" + count, "required");
        });
    });
</script>
<div id="DynamicControlsContainer">
    <input type="button" name="CreateControl" value="AddControl" id="AddControls" />
    <form action="/" method="post" id="dynamicControlForm">
    <input type="submit" name="DynamicControl" id="btnDynamicSubmit" value="Submit" />
    </form>
</div>

画像:

ここに画像の説明を入力

リンク

リンク - http://jsfiddle.net/qwuPk/1/

リンク2

http://jsfiddle.net/LtAy5 ドロップダウン、ラジオ、チェックボックスのコードを追加しました

4

2 に答える 2

1

add rule メソッドにバグがあると思います

$("#AddControls").click(function () {
    count++;
    var elements = "<input type='text' id='txt" + count + "' name='txt" + count + "' class='rec'/><br/></br>";
    var $elem = $(elements).appendTo("#dynamicControlForm");
    $elem.rules("add", {
        required: true
    });
});

デモ:フィドル

于 2013-08-27T07:30:56.347 に答える