gpt4 book ai didi

javascript - 使用 AJAX 提交表单时选项卡上的 Safari 弹出窗口关闭

转载 作者:行者123 更新时间:2023-12-05 08:01:32 26 4
gpt4 key购买 nike

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

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

帖子由按钮触发:

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

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

请注意,此行为可以是 changed by the user , 但不是很容易...

最佳答案

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

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

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

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

关于javascript - 使用 AJAX 提交表单时选项卡上的 Safari 弹出窗口关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13362021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com