我想知道如何設置CFWheels的多步形式。CFWheels - 多步形式?
很明顯,我需要在會話中存儲表格數據等,但我想知道從輪子角度來看這種'輪子方式'的最佳方法。
我的控制器中只有一個操作來處理這個問題嗎?或者最好是將表格的每個部分分成單獨的行爲?
建議對此和可能的代碼示例將不勝感激。
感謝, 邁克爾
我想知道如何設置CFWheels的多步形式。CFWheels - 多步形式?
很明顯,我需要在會話中存儲表格數據等,但我想知道從輪子角度來看這種'輪子方式'的最佳方法。
我的控制器中只有一個操作來處理這個問題嗎?或者最好是將表格的每個部分分成單獨的行爲?
建議對此和可能的代碼示例將不勝感激。
感謝, 邁克爾
我在過去做了它的方式是使用Ajax調用和jquery的模式。
儘管jquery模式並不重要,我只是喜歡審美。一個簡單的div更換也將工作。
如果您無法確定用戶是否可以使用AJAX,那麼它不適用於您,但您可能可以使用彈出窗口。
使用Ajax調用多步表單的優點是,您可以將表單內容從一個步驟調整到另一個步驟。另一個優點是您不必將用戶數據存儲在緩存或會話中。因爲每次發送表單時,都可以使用POST或GET。
爲了達到這個目的,最快捷的方法是使用名爲RemoteFormHelpers的插件。然後,表單的每一步將是一個不同的控制器(或基於傳遞數據的開關語句相同)
我認爲這是一個相當通用的方法,但您無法使用表單文件上傳,並不容易作爲Ajax不會讓你沒有一些嚴重的痛苦。
我曾考慮過這樣做的AJAX方式,但我需要做一些字段上的數據庫檢查,因爲它可能會非常棘手。例如,最多可能有3個步驟,但是在第一步從數據庫查找中提供的東西不會被驗證,那麼我需要重定向用戶,並且不會執行更多步驟。我認爲我的案例非常獨特,因此使它在CFWheels中工作的痛苦。 –
在我看來,特別是如果你需要根據數據庫檢查信息,ajax會成爲一種方式。通過ajax調用,您可以在每次提交時通過控制器運行,並輕鬆進行檢查。 – Daniel
你基本上要求討論,這不符合SO的格式。試試[cfwheels郵件列表](https://groups.google.com/forum/?fromgroups#!forum/cfwheels)。 –
我聽到你的聲音 - 但我確實希望討論代碼。我將很快用代碼更新這個問題,我發現這比Google組更好。 –
代碼不會自動適合[SO's Q&A格式](http://stackoverflow.com/faq)。具體可回答的問題=好。模糊的「幫我做一個多步驟的形式」=糟糕。通過詢問cfWheels郵件列表,你真的會得到更好的迴應。 –