-2

いくつかのajax検証フィールドを含むフォームがあります(すべてのフィールドがajaxを使用して検証されるわけではありません)

これらのフィールドの1つにエラーがある場合、フォームの送信を防止したいと思います。

私はそれが私がajax検証で持っている他のフォームのために一般的であることを望みます。

1つのフラグはトリックを行いません。

これは、エラー時のajaxフィールドの外観です。

<label id="id_name_lab" class="error">name</label>
<input id="id_name" type="text" maxlength="128" name="name">
<label id="id_name_succ_icn" class="icon_succ" style="display: none;"></label>
<label id="id_name_load_icn" class="icon_load" style="display: none;"></label>
4

2 に答える 2

0

Jqueryの場合:

 $("form").submit(function(e) {
                e.preventDefault();
                return false;
 });

jqueryなし:

return false;

フォームのonsubmit要素。

于 2013-02-14T07:45:19.547 に答える
0

私のアイデアは、コールバックチェーンを使用することです。

擬似コード

$("form").one( "submit", function() {
    var self = this;

    // ajax validation
    $.ajax( /* ... */ )
        .done( function() {
            // call validation, if form is valid, ajaxValidation calls submit again.
            ajaxValidation( self );
        });

    // first submit is always ignored.
    e.preventDefault();
    return false;
});

function ajaxValidation( target ) {
    // check valid & call submit
}

必要に応じて、上記のバインド送信ハンドラーが必要です。

于 2013-02-14T07:58:20.470 に答える