0

シングルトン パターンを使用してフォーム処理スクリプトを作成しています...

すべてのコードを投稿したくはありませんが、最初の方法では preventDefault を使用します。

//public methods
    handleSubmit: function (e) {

        //prevent the default submission process
        e.preventDefault();

},

preventDafault は、フォームをハイジャックしてサーバー側の処理を停止するという、本来あるべきことを行います。

次に、検証ルールを作成しました...すべての検証ルールが渡された場合、次のメソッドで終了します。

validData: function (error) {
        if (error.length === 0) {
            return true;
        } else {
            // If there are errors in the form then run alert message
            alert(error);
        }

    },

つまり、エラーがない場合、サーバー側のスクリプトがフォームを処理し、アイテムがデータベースに追加されます (画像に問題があるため、AJAX を使用していません)。

ただし、ここでは return true が機能しません...理由はわかりませんが、非常に単純な理由があると確信しています

4

1 に答える 1

0

preventDefault 関数をスキップして、このようなことを行うことはできますか?

var hasErrors = false;
    if(myLogicHasErrors){
        hasErrors = true;
    }
    if(hasErrors) return false;

検証チェックが通過しない限り、デフォルトを防止せずにフォームの送信を防止するだけです。

于 2011-11-12T17:34:44.363 に答える