Coldfusion表单提交禁用提交按钮
Coldfusion form submit disable submit button
我在这里寻找一些建议。我以前贴过一个问题:禁用提交按钮。
-
我有一个表单提交给自己,看起来像下面
<cfif isdefined(form.submit)> thank you for taking the test <cfelse> Actual form with radio buttons, ques, ans </cfif>
-
现在,在用户接受测试并点击提交并在表单的感谢部分之后。此时,如果他点击浏览器上的后退按钮,他仍然会看到表单。
-
我已经在服务器端验证了,如果他刷新表单,他将再次被带到感谢页面。
我试图禁用提交按钮,但这并不总是在所有浏览器上工作。谁能告诉我在这种情况下我该怎么做? - 我应该做一个history.forward();在纸上?这样当用户点击返回浏览器按钮时,他仍然停留在同一个页面上。
或者我是否应该以这种方式清除缓存,以便当用户点击后退按钮时,他不会看到表单,而只是停留在感谢页面上。
<cfoutput> <cfheader name="expires" value="#now()#"> <cfheader name="pragma" value="no-cache"> <cfheader name="cache-control" value="no-cache, no-store, must-revalidate"> </cfoutput>
或者我遗漏了什么,上面这些只是黑客,不应该这样做。非常感谢您的回复。
如果用户有一个唯一的id,那么你可以检查他们是否已经通过查找数据库记录或类似的方式完成了调查。否则,一个简单的选择是在提交表单后设置会话变量。会话是有时间限制的,并且在新的浏览器会话中会有所不同,所以不能保证阻止同一个人再次提交调查,但是像这样的东西可能会解决您的问题。
<cfif structKeyExists(form,"submit") or structKeyExists(session, "completed")>
<cfif !structKeyExists(session, "completed")>
<!--- do validation etc here, if all good then --->
<cflock scope="session" timeout="5">
<cfset session.completed = true>
</cflock>
</cfif>
thank you for taking the test
<cfelse>
Actual form with radio buttons, ques, ans
</cfif>
或者,您可以通过使用cookie (cfcookie
)而不是使用会话来实现。
相关文章:
- 带有验证和隐藏字段值的提交按钮
- 如何在 API 调用后和 if 语句中启用提交按钮
- 提交按钮,该按钮位于使用 Excel VBA 的 Javascript 中
- 如何使用提交按钮搜索表中的记录
- 在单击按钮前后禁用提交按钮
- 在表单完成并确认密码之前,请禁用提交按钮
- 如何使用Java脚本创建提交按钮's的拖放功能
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 提交按钮通过JQuery和JavaScript函数所做的更改不会持续
- 从输入时提交到jQuery,无需提交按钮,无需表单操作
- onclick提交按钮JSP
- 通过提交按钮传递值
- 如果ng单击附加到提交按钮,则表单未验证
- 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮
- 使用提交按钮隐藏未选中的单选按钮
- Ruby/JS如何在提交按钮后重新加载页面
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 使用javascript后,提交按钮不起作用
- 如何使用jQuery/Ajax响应特定的提交按钮
- 表单中的提交按钮在 PHP 打印中不起作用