3

在 Safari 浏览器中,在带有表单的页面上,当用户尝试关闭浏览器的选项卡并且表单尚未经过验证时,会打开一个系统模式弹出窗口。文本说:您在“[页面名称]”上输入了文本。如果关闭窗口,您的更改将丢失。还是要关闭窗口?

当帖子重定向到另一个页面时,此行为是可以的。在我们的网站上,我们有一个使用 Ajax 请求验证表单的页面。由于页面没有重新加载,即使表单已经提交,也会出现弹出窗口,最终用户可能会感到奇怪。

帖子由一个按钮触发:

  1. 表单使用jQuery Validation 插件进行验证
  2. 插件选项包括一个submitHandler选项return false;
  3. 日期通过 发送$.post,并有一条消息通知用户成功/失败。

有谁知道如何避免在呼叫返回后触发此弹出窗口?在这种情况下,我们不希望强制重新加载。

请注意,用户可以更改此行为,但不是很容易...

4

1 回答 1

0

我无法在 Windows 上的 Safari 中复制它。

也许在提交表单后尝试清空/重置输入字段,前提是提交当然没有任何错误,或者更好的是,完全删除表单,如果之后不需要它。当然使用 DOM 操作,而不是通过重新加载页面。

附带说明一下,在发送后看到填写好的表单(即使您正在显示确认消息)对用户来说也可能很奇怪(除非它是一个多用途表单并且这种行为是预期的)。

更新:在 Mac Safari 上测试,它的行为与您描述的一样,但是如果我删除了我输入的内容(这让浏览器首先提醒我),它就不会出现。因此,简单的字段重置应该可以解决问题。

于 2012-11-13T14:34:54.360 回答