2

検証コードに問題がありました... 2 つのフィールド (ユーザー、パス) と、送信時に関数を実行する jQuery 関数を含むフォームを取得しました。

jQuery(document).ready(function($) {
    $('#login-form').on('submit', validateData());

    function validateData() {
        userInput = $('#in-user');
        userCntrl = userInput.closest('.control-group');
        passInput = $('#in-pass');
        passCntrl = passInput.closest('.control-group');

        userCntrl.addClass('error'); // This executes on page load, not on submit

        formSubmit = false;

        console.log( userInput.val() ); // This logs on page load, not on submit

        return formSubmit;
    }
});

実際には、このコードはページの読み込み時に実行されますが、onSubmit は何も起こりません...

これは簡単なことだと思いますが、解決策がわかりません。

4

2 に答える 2

6

必要なもの:

$('#login-form').on('submit', validateData);

の後に括弧がないことに注意してくださいvalidateData

ご覧のとおり、ページの読み込み時に関数を呼び出しfalse、その戻り値 ( ) をsubmitフォームのハンドラーとして設定しています。

(そして、関数を定義した後にvalidateDataそれを行う必要があります。)

于 2013-04-17T13:38:56.370 に答える
3

次のようにする必要があります。

$('#login-form').on('submit', validateData);
于 2013-04-17T13:38:36.230 に答える