javascript - 表单操作期间后退按钮问题

标签 javascript html coldfusion forms

我的项目在 3 个不同的页面中有 3 个表单,例如 form1.cfm、form2.cfm、form3.cfm。

form1.cfm 包含第一个表单,如下

<form name="firstform" method="post" action="form2.cfm">
 // form-content
</form>

<a href="javascript:void(0);"onclick="javascript:document.firstform.submit();">Next</a>

form2.cfm(第一个表单的操作页面)包含第二个表单,如下

<form name="secondform" method="post" action="form3.cfm">
 // form-content
</form>

<a href="javascript:void(0);"onclick="javascript:window.history.back();">Back</a>
<a href="javascript:void(0);"onclick="javascript:document.secondform.submit();">Next</a>

form3.cfm(第二个表单的操作页面)包含第三个表单如下

<form name="Thirdform" method="post" action="form4.cfm">
 // form-content
</form>

<a href="javascript:void(0);"onclick="javascript:window.history.back();">Back</a>
<a href="javascript:void(0);"onclick="javascript:document.Thirdform.submit();">Next</a>

因此,当我在 form2.cfm 中使用“后退”按钮链接时,它会转到 form1.cfm 并且没有任何问题。当我在 form3.cfm 中执行相同操作时,它必须转到 form2.cfm,但它要求用于表单重新提交,因为我知道这是form1.cfm的操作页面。

当我使用 form3.cfm 中的后退按钮链接并且不想看到表单重新提交页面时,我想要使用 form2.cfm。

不知道能不能修复。但欢迎提出建议或解决方案。

提前致谢

最佳答案

问题是,通过使用 POST,您是在告诉浏览器“嘿,此表单具有可能不适合重复的效果。”

您可以将方法更改为 GET,但这可能也不合适,因为这表示“此表单没有任何效果,它只是为了显示内容。”

一种解决方案是根本不提交表单,而是使用 JavaScript 收集数据,使用 XHR 请求发送数据,然后再次使用 JavaScript 导航到下一个表单。

另一个解决方案是根本不使用多个单独的表单。只需将它们全部放在一个主表单中即可。如果变得很大,只需使用 JavaScript 隐藏不活动的部分,并使用下一个/后退按钮打开和关闭这些部分。

关于javascript - 表单操作期间后退按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268060/

相关文章:

javascript - Jasmine 测试 url 的 javascript 函数

javascript - 为了获得良好的性能,是否需要在 HTML5 中清除 Canvas [ 2D Context ]?

javascript - Knockout JS模型继承

javascript - 如何连接样式

html - ul 标签 html 上的边框图像

html - 将psd转换为html时如何修复错误滚动水平监视器

javascript - 未登录用户的“登录”值和登录用户的 'Log Out' 值

mysql - ColdFusion10 - 通过插入查询查询 cfloop

coldfusion - 检查计划任务的运行状况?

coldfusion - 在功能和性能方面指定参数/属性值时,True 和 False 是否等于 Yes 和 No?