0

我有一个表格。

提交成功会加载成功的.html 页面。

如果出现错误(空字段或无效的电子邮件地址),它将加载错误.html 页面。

只有当访问者从成功.html 中按下浏览器的后退按钮时,我才想重置表单(清空所有字段) 。如果访问者在错误页面上按下 BACK 按钮,则不应重置表单,即浏览器应正常运行(默认)。

当有人按下后退按钮返回表单时,此代码会重置表单:

$(window).bind("pageshow", function() {
  document.form_name.reset();
});

那么如何让表单页面知道访问者从哪里回来(当人们按下浏览器的返回按钮时)?

我想我可能会定义一个变量(如果为真则重置,错误页面上为假,成功页面上为真)但由于某种原因这不起作用。这里的最佳做法是什么?

谢谢您的帮助。

4

1 回答 1

0

好的,我想我解决了:

在成功页面上我添加了一个 JS 行:

top.name='success';

在带有表单的页面上,我添加了以下内容:

$(window).bind("pageshow", function() {
    if (top.name === "success") {
             document.form_name.reset();
                top.name="";}
});

如果启用了 JavaScript ,它对我有用。应该可以在大多数浏览器中使用。也许不是最优雅的解决方案 + 取决于启用 JS,但我想不出其他任何可行的方法。我读到 window.name 方法不安全(其他页面可以读取 window.name),但是“成功”这个词并不是真正高度机密的信息。

于 2013-08-25T21:03:03.800 回答