2

フォームに jQuery 検証があります。送信ボタンをクリックすると、「保存」機能が呼び出されます。

function save(){
    var form = document.getElementById('myForm');
    form.submit(); // <- jquery validation is not called
    $(form).submit() // <- jquery validation works
}

form.submit() がフォームを検証しないのはなぜですか?

4

1 に答える 1

6

ネイティブsubmitメソッド( W3 仕様)はフォームを送信しますが、他には何も送信しません。キャンセル可能なsubmitイベントは発生しません (フォーム送信の概念を参照してください)。

jQuery のsubmitメソッドは のエイリアスです.trigger("submit")が、「さらに、フォームのデフォルトの送信アクションが[起動]されるため、フォームが送信されます。

検証は、ネイティブの送信メソッドを使用する場合には発生しないこれらの送信イベントをリッスンします。

于 2012-10-10T14:20:45.730 に答える