我正在創建一個用戶輸入數據的表單,然後單擊「查看」查看他們輸入的數據。然後在審查後,「保存」記錄。表單輸入,查看然後更新
我正在使用<cfform>
來提交表單,但想知道如何將數據從「Review」頁面提交到數據庫,因爲這裏沒有任何表單。
我應該設置像FORM.Name = VARIABLES.Name
變量顯示查看頁面上,然後將其轉換回他們提交的「保存」後?
不太確定該做什麼。想太多?
我正在創建一個用戶輸入數據的表單,然後單擊「查看」查看他們輸入的數據。然後在審查後,「保存」記錄。表單輸入,查看然後更新
我正在使用<cfform>
來提交表單,但想知道如何將數據從「Review」頁面提交到數據庫,因爲這裏沒有任何表單。
我應該設置像FORM.Name = VARIABLES.Name
變量顯示查看頁面上,然後將其轉換回他們提交的「保存」後?
不太確定該做什麼。想太多?
只要保持表格範圍。表單值的基本輸出,它使用烤form.fieldList:
<cfloop list="#form.fieldList#" item="fieldName">
<cfoutput>
#fieldName#: #form[fieldName]#<br>
<input type="hidden" name="#fieldName#" value="#form[fieldName]#">
</cfoutput>
</cfloop>
鏈接到原始形式或提交頁面,你保存它,利用隱藏字段的值(這應該反映原始形式值)
其他一些方法可以做到這一點,但這對我來說似乎最簡單。
爲什麼不使用與在瀏覽頁面隱藏輸入字段第二種形式?確認將是將數據保存到服務器的頁面的提交按鈕。 第二種可能性(不恰當):將數據直接保存到數據庫中並從那裏加載以供審閱。招數:使用「已確認」的標誌,並在確認後進行設置。糟糕的是:你必須清理尚未確認的舊數據。
第二個選項有有效的用例。但同意在這種情況下可能沒有必要。具有隱藏字段的第二種形式應該就足夠了。 – Leigh
提高對比利Cravens答案。這可以防止具有嵌入攻擊
<cfoutput>
#lcase(fieldName)#: #xmlFormat(form[fieldName])#<br>
<input type="hidden" name="#fieldName#" value="#xmlFormat(form[fieldName])#" />
</cfoutput>
而且這不會對圖片上傳的工作領域。 lcase(fieldName)將保持字段不被顯示爲全部大寫。小寫字母通常更易於閱讀。
我會說你在想這件事。將表單傳遞到審閱頁面,然後將這些表單變量作爲隱藏變量傳遞到保存頁面。 –
如果您不想重新發明輪子,您可以使用10年前的自定義標籤自動爲您設置:[CF_EmbedFields](https://www.adobe.com/cfusion/exchange/index。 CFM?事件= extensionDetail&EXTID = 1000001)。 – ale