我試圖建立一個註冊頁面,分兩步。Ruby on Rails註冊數據?
第一步顯示一個名稱,電子郵件,通票。
第二步將顯示ReCaptcha。
問題是如何存儲表單數據並顯示帶有驗證碼的新表單?
我在想會議,但我知道你不應該在會議中存儲敏感信息。
我想使用Ajax渲染ReCaptcha如果名稱,電子郵件,通過..驗證。
有什麼建議嗎?謝謝。
我試圖建立一個註冊頁面,分兩步。Ruby on Rails註冊數據?
第一步顯示一個名稱,電子郵件,通票。
第二步將顯示ReCaptcha。
問題是如何存儲表單數據並顯示帶有驗證碼的新表單?
我在想會議,但我知道你不應該在會議中存儲敏感信息。
我想使用Ajax渲染ReCaptcha如果名稱,電子郵件,通過..驗證。
有什麼建議嗎?謝謝。
如果您需要一些簡單的東西,您可以使用hidden fields保留第二步中的參數。
如果您需要更復雜的事情(多個步驟,回到上一步,部分驗證等),您可以使用嚮導插件。這裏是Ruby Toolbox的一列wizard plugins。
我的建議是,我認爲這種情況的兩種形式是不必要的複雜,除非有一些特定的應用程序需要解耦用戶名/密碼捕獲和CAPTCHA檢查。
您可能很擔心使用會話來存儲中間數據,但如果您確實想要這樣做,那麼可以通過一個很棒的屏幕錄像顯示類似應用程序here的技術。
我個人會去Javascript路線。同時加載兩個表單,步驟1可見,步驟2隱藏。通過AJAX調用驗證步驟1(如果您需要)或客戶端(如果您不需要)。如果步驟1有效,則取消隱藏步驟2表單(如果需要,也可以隱藏步驟1表單)。
更新:標記爲隱藏使用CSS,然後使用一些JavaScript在提問的要求添加進一步信息
有很多的方法來隱藏和顯示頁面內容,但常用的方法是將其包裝在一個<div>
塊(例如JQuery)將其隱藏或取消隱藏。像這樣:
<div id="step2" style="display:none">
<% form_for .... %>
<% end %>
</div>
當頁面首次被加載時,表單將被隱藏。然後在JQuery中(例如)做:
$(function() {
$('#step2').show();
});
有很多方法可以做到這一點。
railscast #217,演示了一種處理多步表單的通用方法,能夠處理棘手的事情,如前進和後退多次。看一看。
如何將表單更改爲隱藏? – Brian 2010-07-13 19:59:52