次のjsfiddleを作成しました。
編集ボックスのいずれかに入力してページを離れようとすると、警告が表示されますが、問題ありません。
なんらかの入力をしてボタンをクリックすると、要件が満たされていない場合でも警告が表示されます。(表示されないようにする必要があります)。
Webページではwindow.onbeforeunload
、クリックイベントよりも早くスローされるように見えるため、送信ボタンをクリックしても常に警告ダイアログが表示されます。
イベントのタイミングに対処するためにコードを変更する必要があると思いますが、よくわかりませんか?