2011-06-20 26 views

回答

0

看一看多步表單的例子在這裏:http://drupal.org/node/717750

總的想法是,在提交功能,您所有張貼的值保存到$form_state['storage'],以後可以在接下來的步驟訪問。

編輯: 看一看我剛剛創建了既上一頁和下一頁按鈕的例子:http://zgadzaj.com/basic-drupal-multipart-form-example-with-previous-and-next-buttons

+0

有沒有辦法在Webform(http://drupal.org/project/webform),而不是通過表單API做到這一點? – ohho

+0

不知道我害怕,我根本沒有使用它。我想這會有一種方法,不知道它需要多少變化,以及在所需的時間/工作量方面是否會更好。 –

2

我知道這是舊的,但我需要同樣的事情,所以我希望這可以幫助其他人在搜索。

我需要從以前的Webform步驟爲我的自定義Webform組件的值。 _webform_redner_[component](...)掛鉤不提供formform_state,以前的步驟數據(比剛剛提交的上一步更多)不在$_POST中。

爲了解決這個問題,我使用$_POST變量中的form_build_id從Drupal的表單緩存系統手動檢索表單。

/* ... */ 
    $form_state = array(); 
    // Get the form_state to pass on to our build function. 
    // Webforms doesn't provide it at this point so we'll need to manually get it using the form's build_id. 
    $form = form_get_cache($_POST['form_build_id'], $form_state); 
    /* ... */ 

你現在有整個formform_state還包括前面的步驟的值。

相關問題