在Safari浏览器中,在带有表单的页面上,当用户尝试关闭浏览器选项卡并且表单尚未经过验证时,会打开一个系统模式弹出窗口。文字说:您在“[页面名称]”上输入了文字。如果您关闭窗口,您的更改将会丢失。你还想关闭窗户吗?
当帖子重定向到另一个页面时,此行为正常。在我们的网站上,我们有一个页面使用Ajax请求验证表单。由于页面未重新加载,即使表单已提交,也会显示弹出窗口,并且最终用户可能会感到奇怪。
帖子由按钮触发:
submitHandler
return false;
选项
$.post
发送,并显示一条消息,通知用户成功/失败。有人知道如何避免在调用返回后触发此弹出窗口吗?在这种情况下,我们不希望强制重新加载。
请注意,此行为可能是changed by the user,但不是很容易......
答案 0 :(得分:0)
我无法在Windows上的Safari中复制此内容。
也许在表单提交后尝试清空/重置输入字段,只有在提交课程时没有任何错误,或者更好的是,如果之后不需要,则完全删除表单。当然使用DOM操作,而不是重新加载页面。
另一方面,在发送完毕后看到填好的表格(即使您正在显示确认消息)也可能对用户来说很奇怪(除非它是一个多用途表格并且预期会出现这种情况)
更新:在Mac Safari上进行测试,它的行为如您所述,但如果我删除了我输入的内容(这使浏览器首先提醒我),它就不会出现。因此,简单的字段重置应该可以解决问题。