2010-05-20 78 views
2

我想過這個問題小時,但我並沒有得出任何結論。我的問題在於我需要將一個'Previous'按鈕添加到表單中。用戶應該填寫一個分成13部分的公式。每個部分都是一個自己的表單,它具有一個'下一步'按鈕,用於將所有內容提交到數據庫並重定向到下一頁。「上一個」按鈕

我如何有集成「上一個」按鈕? ...

我不,如果它可能是有用的,你知道,我使用CakePHP的,和好,我是很新,它。

回答

1

我在經典ASP編碼類似的形式,看你能不能讓它在CakePHP的工作:

我有一個7步形式,步驟2-7以前有過的按鈕。每個步驟都包含一個asp腳本。所有腳本都會發回給自己。我在腳本的每次調用檢查REQUEST_METHOD,看它是否是由GET方法或POST調用。如果POST則驗證數據,如果驗證則保存。表單上有三個提交按鈕,用戶可以選擇是否只保存數據,保存並移至下一步或保存並移至上一步。根據點擊哪個按鈕,用戶被「重定向到」上一頁/下一頁。這個帖子指定如何添加和處理上一個/下一個按鈕:

Multiple Submit Buttons — Specifying default button

+0

,這導致我想到解決方案!感謝大家的幫助! – Andre 2010-05-20 05:48:56

2

存儲各種形式的POST數據,並在會話當前表單指數。 當單擊後退按鈕,開放的形式(currentForm - 1)(如果這是一個有效的形式指數),並與formData[currentForm]填充字段(假設currentForm現在後退按鈕重定向形式)

+0

這就是我以前的想法,存放在會後的數據,但它會是很多,我也需要「不完整」的數據。這意味着每次用戶點擊「下一個」按鈕時都必須寫入數據庫。 – Andre 2010-05-20 05:44:58

2

真正的問題是,你想將公式的每個階段存儲在記錄中?或者你想在「交易」中存儲公式的每個階段?這裏的區別很重要。你與用戶的關係是什麼?他們是否登錄?他們是匿名的嗎?你如何將他們的答案從一個表格輸入到另一個表格?如果您按時間順序將每個條目存儲在數據庫中,則只需使用先前輸入的值填充以前的表單;當他們點擊之前。如果您不存儲條目,而是利用會話在「下一次」點擊之間保留值,則使用這些值填充「前一個」表單。

+0

實際上用戶是匿名的,發生什麼事是他們點擊'next'後他們的數據將被保存在一張表中。只要他們點擊第2,3,4,5頁上的'下一個'...他們提供的數據仍然存在於數據庫中的特定條目中。所以我在這裏首先使用INSERT VALUES工作,然後才更新,直到他們到達最後一頁。 但我不知道如何才能使以前的按鈕將它們導向它回來了?!我只是有一個動作屬性,指向下一頁... – Andre 2010-05-20 05:43:45

+0

優秀,這意味着你有他們正在更新的記錄的ID。這意味着你可以使用會話來確定他們是否已經回答了前一個階段,並存儲了前一個階段的「地點」,當用戶點擊下一個按ID更新記錄時,如果他們點擊之前只是檢索最後一組來自同一ID的值並填充表單。提供一些你的代碼,我相信我們可以讓你去。 – Gabriel 2010-05-20 06:08:31