[英]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>
此后,在用戶接受測試並命中之后,提交並進入表單的感謝部分。 那時,如果他在瀏覽器上單擊了“后退”按鈕,則他仍在查看表單。
此時,我已經進行了服務器端驗證,如果他刷新表格,將再次進入感謝頁面。
還是我應該以這種方式清除緩存,以便當用戶單擊“后退”按鈕時,他看不到表單,而是停留在感謝頁面上。
<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
)代替會話來實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.