How to do "HTML FORM action=location.replace('nextp
How to do "HTML FORM action=location.replace('nextpage.html')"?
标题实际上是实现我目标的一次失败尝试。具体来说,我想
1.从main.html转到页面(例如,转到page1.html)。
2.在第1页上以表格形式收集数据。
3.在提交时,转到page2.html(它使用PHP将数据保存到数据库并公布结果)
4.点击"确定",返回主菜单页面
看起来很合理,对吧?
上面的第4步是我的问题。
我尝试过的事情:
1.调用历史记录。返回第2页中的"确定"单击。
这将转到第1页而非主页
2.在第2页的"确定"上调用javascript location.href=main.html
这是有效的,并进入主界面,但点击主界面中的后退按钮会将用户带回第1页。(不好)
3.在action=和page1的onSubmit()中使用javascript history.replace()的许多变体。
这是有效的,但表单中的输入是而不是在查询字符串中传递到页面2)
4.清晰的历史
出于安全考虑,这似乎是不可能的
5.以编程方式为第1页上的history.replace(来自表单输入)编写查询字符串。
这很有效,但非常费力,容易出错,而且非常不雅
如有任何建议,我们将不胜感激。
===========我的解决方案2016年8月4日=============
我将在下面为任何感兴趣的人发布我的最终解决方案
在page1.html:中
<script type="text/javascript">
function addarg(q,addend)
{
qnew = q + addend;
return( qnew );
}
function Next()
{
// GET INPUT VALUES FROM FORM
frm = document.forms["MainForm"];
first = frm.first.value;
last = frm.last.value;
phone = frm.phone.value;
// COMPOSE QUERY
query = "processForm.php";
query = addarg( query, '?first='+first );
query = addarg( query, '&last='+last );
query = addarg( query, '&phone='+phone );
location.replace( query ); // chain to processing page
}
</script>
<form action="javascript:Next()" name="MainForm" method=GET>
...
</form>
当history.back()从processForm.php发出时,它会根据需要返回到主菜单。
实现这一点似乎更简单的方法是在page2.html.上放置一个简单的<a href=main.html>Ok</a>
然后在main.html上关联一个标志(可能是cookie),该标志"指示"page1.html清除其表单元素,但通过"后退"按钮(例如,通过刷新meta,或通过加载page1.html#randomnum,其中randomnum是一个您可以实时找到的值,以迫使浏览器理解这不是"旧的"page1.html而是"新的"page1.html的值,帮助浏览器不要从缓存而是从web获取)。
原则是:如果page1.html被"back"调用,则它必须是一个"clear"page1.html不显示用户最终输入的任何数据。
- 在AJAX中使用window.location.replace'成功'回调
- 后退按钮在 window.location.replace(href);之后失败
- 我能确定这个页面赢了吗;如果我使用`location.replace`来更改哈希,则不会重新加载
- How to do "HTML FORM action=location.replace('nextp
- window.location.replace.继续重新加载页面,如何停止
- window.location.replace或href时Web会话丢失
- “拒绝影子本机属性的权限”使用 location.replace 在 JavaScript 中重定向
- 如何使 window.location.replace 在 IE 9 中工作
- 使用 window.location.replace 但页面仍在浏览器的内存中
- JavaScript Location.replace 不起作用
- 使用 window.location.href.replace + 单击按钮
- window.location.replace :权限被拒绝和未捕获的异常
- window.location.replace() 在窗体中不起作用
- Javascript 密码验证窗口.location.replace.
- 如何在window.location.replace.之后保持相同的表单
- 使用window.location.replace重定向不起作用
- window.location.replace不起作用
- window.location.replace在客户端不起作用
- 如何覆盖JavaScript中的location.assign或location.replace函数
- 如果重新加载了同一页,window.location.replace将不起作用