Javascript 使用AJAX提交表单时,选项卡关闭时Safari弹出窗口

Javascript 使用AJAX提交表单时,选项卡关闭时Safari弹出窗口,javascript,ajax,safari,Javascript,Ajax,Safari,在Safari浏览器中,在包含表单的页面上,当用户试图关闭浏览器选项卡且表单尚未验证时,会打开一个系统模式弹出窗口。文本显示:您已在“[页面名称]”上输入文本。如果关闭窗口,所做的更改将丢失。你还是要关上窗户吗 当帖子重定向到另一个页面时,这种行为是正常的。在我们的站点上,我们有一个使用Ajax请求验证表单的页面。由于页面未重新加载,即使表单已提交,也会出现弹出窗口,最终用户可能会感到奇怪 post由一个按钮触发: 使用 插件选项包括一个submitHandler选项,该选项返回false 日期

在Safari浏览器中,在包含表单的页面上,当用户试图关闭浏览器选项卡且表单尚未验证时,会打开一个系统模式弹出窗口。文本显示:您已在“[页面名称]”上输入文本。如果关闭窗口,所做的更改将丢失。你还是要关上窗户吗

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

post由一个按钮触发:

  • 使用
  • 插件选项包括一个
    submitHandler
    选项,该选项
    返回false
  • 日期通过
    $.post
    发送,并有一条消息通知用户成功/失败
  • 是否有人知道如何避免在呼叫返回时触发此弹出窗口?在这种情况下,我们不希望强制重新加载


    请注意,这种行为可以,但不是很容易…

    我无法在Windows上的Safari中复制这种行为

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

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


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

    谢谢,这些是我们可能会探讨的想法,以及其他一些想法。我们将在获得结果后立即更新此问题。是否有人有解决此问题的解决方案,而不包括清空它们这可能导航到具有browserHistory.push的同一页面?因为我认为在表单显示当前状态的情况下,这是一种可怕的用户体验。