3

Safari ブラウザーでは、フォームを含むページで、ユーザーがブラウザーのタブを閉じようとしたときにフォームが検証されていないときに開くシステム モーダル ポップアップがあります。テキスト: 「[ページの名前]」にテキストを入力しました。ウィンドウを閉じると、変更は失われます。このままウィンドウを閉じますか?

投稿が別のページにリダイレクトされる場合、この動作は問題ありません。私たちのサイトには、Ajax Request を使用してフォームを検証するページがあります。ページがリロードされないため、フォームが送信されても​​ポップアップが表示され、エンド ユーザーに違和感を与える可能性があります。

投稿はボタンによってトリガーされます。

  1. フォームはjQuery Validation プラグインを使用して検証されます
  2. プラグイン オプションにはsubmitHandlerreturn false;
  3. 日付は 経由$.postで送信され、メッセージでユーザーに成功/失敗が通知されます。

呼び出しが返ってきたら、このポップアップがトリガーされないようにする方法について誰か考えがありますか? その場合、リロードを強制しないでください。

この動作はユーザーが変更できますが、それほど簡単ではないことに注意してください...

4

1 に答える 1

0

これをWindowsのSafariで複製することはできません。

フォームの送信後に入力フィールドを空にする/リセットしてみてください。もちろん、送信にエラーがなかった場合に限ります。さらに、後で必要ない場合は、フォームを完全に削除してください。もちろん、ページをリロードするのではなく、DOM操作を使用します。

ちなみに、送信後に記入済みのフォームを表示することも(確認メッセージを表示している場合でも)、ユーザーにとって奇妙な場合があります(複数回使用のフォームであり、この動作が予想される場合を除く)。

更新:Mac Safariでテストしたところ、説明どおりに動作していますが、入力した内容を削除すると(そもそもブラウザに警告が表示されます)、表示されません。したがって、フィールドをリセットするだけでうまくいくはずです。

于 2012-11-13T14:34:54.360 に答える