1

フォームの検証に使用したコードで jQuery 検証が機能しません。

私は PureMVC を使用し、index.html ファイルでは contact.html ファイルが ajax リクエストから読み込まれました。ボタンのクリックでJavaScriptアラートを作成すると、それらを見ることができますが、ボタンのクリックで検証を行いません

$("#contactUsSubmit").live('click', function() {

                $("#contactForm").validate({
                    errorLabelContainer: $("#contactAlert ul"),
                    rules: {
                        contactName: {
                            required: true,
                            minlength: 6
                        }
                    }
                });

            });

このコードで私がどのようなことをしたのか誰かが知っていますか. #contactname は contactName の ID です

4

3 に答える 3

0

あなたのコード:

$("#contactUsSubmit").live('click', function() {
    $("#contactForm").validate({
        //options,
        ...
    });
});

そのように実装するべきではありません。クリックするたびにプラグインを初期化するだけです。最初のクリックでプラグインが初期化されるまで検証は行われません(2回目のクリックで検証されます)。プラグインにはすでにclickイベントハンドラーが組み込まれており、自動的にキャプチャされます。

.validate()プラグインを初期化する準備ができているDOM内で1回呼び出す必要があります。

$(document).ready(function() {

    $("#contactForm").validate({
        //options,
        rules: {
            contactName: {
                required: true,
                minlength: 6
            }
        }
    });

});

name属性はすべての入力要素に必須であることに注意してください。

<form id="contactForm">
    <input type="text" name="contactName" id="contactName"/>
    <input id="contactUsSubmit" type="submit" />
</form>

フォームのデモを試してみてください:http: //jsfiddle.net/FfJCV/

于 2013-02-20T15:57:59.470 に答える
0

live('click', (...)関数は適切に呼び出されますか?JQuery 1.9 では .live 関数が削除されました。

于 2013-02-20T11:15:56.897 に答える
-1

フォームフィールドに name 要素が必要なため、おそらく機能していないと思います。この PUREMVC の例を見ると、フィールド要素の名前がありません。

編集者に問題があったため、下に貼り付けたEDIT URL

このコードが機能しない理由はありません。エラー メッセージをすぐに表示するには、valid() を呼び出す必要があることに注意してください。

$("#contactUsSubmit").live('click', function() {

    $("#contactForm").validate({
        errorLabelContainer: $("#contactAlert ul"),
        rules: {
            contactName: {
                required: true,
                minlength: 6
            }
        }
    });
    // call valid to see errors
    $("#contactForm").valid();

});

ピュア MVC の例 http://darkstar.puremvc.org/content_header.html?url=http://puremvc.org/pages/demos/TS/PureMVC_TS_Demo_EmployeeAdmin&desc=PureMVC%20TypeScript%20Demo:%20Employee%20Admin

于 2013-02-20T16:50:01.797 に答える