0

次のjsfiddleを作成しました。

編集ボックスのいずれかに入力してページを離れようとすると、警告が表示されますが、問題ありません。

なんらかの入力をしてボタンをクリックすると、要件が満たされていない場合でも警告が表示されます。(表示されないようにする必要があります)。

Webページではwindow.onbeforeunload、クリックイベントよりも早くスローされるように見えるため、送信ボタンをクリックしても常に警告ダイアログが表示されます。

イベントのタイミングに対処するためにコードを変更する必要があると思いますが、よくわかりませんか?

4

1 に答える 1

1

あなたがしたいことはonbeforeunload、フォームを送信するときにメッセージが表示されないようにすることです。

値を falsesubmitに返すハンドラーを追加するだけです。form_has_been_modified

$("#additemform").on('submit', function(e) {
    form_has_been_modified = false;
});

ワーキングデモ

このデモでは、不要なハンドラーを削除して例をクリーンアップし、0 と 1 の代わりにform_has_been_modifiedネイティブのブール値trueandを使用するように変更しました。false

于 2013-07-29T12:21:53.020 に答える