Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅当从成功登录页(而非错误页)单击“上一步”按钮时才重置表单_Javascript_Jquery_Forms_Reset - Fatal编程技术网

Javascript 仅当从成功登录页(而非错误页)单击“上一步”按钮时才重置表单

Javascript 仅当从成功登录页(而非错误页)单击“上一步”按钮时才重置表单,javascript,jquery,forms,reset,Javascript,Jquery,Forms,Reset,我有一张表格 成功提交将加载success.html页面 如果出现错误(空字段或无效电子邮件地址),它将加载错误.html页面 只有当访问者从成功.html按下浏览器的后退按钮时,我才想重置表单(清空所有字段)。如果访问者按下错误页面上的“后退”按钮,则不应重置表单,即浏览器应正常运行(默认) 当有人按下后退按钮返回表单时,此代码将重置表单: $(window).bind("pageshow", function() { document.form_name.reset(); }); 那么

我有一张表格

成功提交将加载success.html页面

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

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

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

$(window).bind("pageshow", function() {
  document.form_name.reset();
});
那么,如何让表单页面知道访问者从哪里回来(当人们按下浏览器的后退按钮时)

我想我可能会定义一个变量(如果为true,则重置,在错误页面上为false,在成功页面上为true),但由于某些原因,这不起作用。这里的最佳实践是什么


谢谢你的帮助。

好的,我想我已经解决了:

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

top.name='success';
在表格的页面上,我添加了以下内容:

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

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

我不确定我是否了解这一点,您是否正在查找
文档。referer
?这是否适用于浏览器的“后退”按钮?我认为它只在人们点击链接时才起作用。不幸的是,它在Internet Explorer中不起作用。至少它在Firefox、Chrome和Safari中对我有效。如果有人有IE的解决方案,请告诉我。非常感谢。