【问题标题】:Suppressing form resubmission dialog禁止表单重新提交对话框
【发布时间】:2011-05-05 08:45:01
【问题描述】:

有没有办法(使用javascript或其他方式)抑制刷新包含帖子数据的页面时弹出的表单重新提交对话框?

【问题讨论】:

    标签: javascript forms browser post


    【解决方案1】:

    这是一个常见问题,解决方案有一个名称:PRG

    接收 POST 的页面处理它,然后 重定向 客户端/浏览器到另一个页面,该页面通过 GET 请求检索。因此,如果客户端刷新,他们不会重新发布数据。

    【讨论】:

    • 我可以接受我有时不能显示对话框的页面(例如,当用户按 f5 时),但在其他时候(例如,当 javascript 调用 window.location.reload() )?
    • 如果页面是 POST 请求,window.location.reload() 将尝试重新发布。你可以试试window.location = window.location.href
    • 问题是我需要重新发布(如果我使用 location = location.href 发布数据丢失),但不希望用户被提示是否因为刷新他们没有直接要求。具体来说,当他们在完成问卷调查的过程中使用灯箱中的表单登录时会发生这种情况,并且在登录后刷新页面以将导航更新为登录状态。
    • 您是否将问卷状态保存在隐藏字段中?您可以将其存储在 Session 中并使用 PRG 吗?
    【解决方案2】:

    在加载内容之前显示弹出窗口。因此,在您单击弹出窗口中的一个按钮后,将执行任何 Javascript。

    您可以在服务器端执行的操作是在使用数据完成所有操作后重定向到另一个页面(没有 POST 数据)。

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 2011-10-21
      • 1970-01-01
      相关资源
      最近更新 更多