我有一张表格。
成功提交将加载成功 .html页面。
如果出现错误(空字段或无效的电子邮件地址),则会加载错误 .html页面。
我想重置表单(清空所有字段)仅当访问者按下成功 .html中的浏览器后退按钮时。如果访问者按错误页面上的BACK按钮,则不应重置表单,即浏览器应该像通常那样(默认)。
当有人按下后退按钮返回表单时,此代码会重置表单:
$(window).bind("pageshow", function() {
document.form_name.reset();
});
那么如何让表单页面知道访问者从何处返回(当人们按下浏览器的后退按钮时)?
我以为我可以定义一个变量(如果为true则重置,错误页面为false,成功页面为true)但由于某种原因这不起作用。这里的最佳做法是什么?
感谢您的帮助。
答案 0 :(得分: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)但是“成功”这个词并不是真正的高度机密信息。