2011-05-13 18 views
11
で送信します

これにより、検証に失敗しても送信ボタンが無効になります。妥当性検査が成功し、送信イベントが発生した場合にのみサブミットを無効にする方法はありますか?あなたは、の線に沿って何かinvalidHandlerを上書きすることができるはずのようjQueryの検証プラグインを防ぐダブル検証

答えて

17

ソースを通じて見ると、それになります:一見

$("#form").validate({ 
    submitHandler: function(form) { 
    // disable your button here 
    form.submit(); 
    }, 
    invalidHandler: function() { 
    // re-enable the button here as validation has failed 
    } 
}); 

を、これはあなたがしたいと思う方法であると思われますvalidateプラグインでこれをやってみるのですが、私は残念ながらそれを作るために時間を費やすことはありませんそれは動作します。

編集:

は、この「えー(私はテストのために名前fnameで単一のテキストフィールドを使用)実行する必要があります。

$('#frm').bind('invalid-form.validate', function(){ 
    // you can add extra validation handling here if you want to 
}); 

$('#frm').validate({ 
    rules: { 
     fname: "required" 
    }, 
    submitHandler: function(form){ 
     $('form input[type=submit]').attr('disabled', 'disabled'); 
     form.submit(); 
    } 
}); 

submitHandlerを検証が通過した後だけヒットです。

+0

私は試しましたが、フォーム要素は無効ですが、フォームは送信しません。他のアイデア? –

+0

@chris: –

+0

の編集はまだ同じ結果を参照してください。他のアイデア? –

関連する問題