在a multi-step Drupal webform中,是否可以显示在上一步页面中输入的值?
例如,第一步页面将username
字段捕获为“John”,是否可以在下一步页面中显示问候语,显示Hello John, ...
?
P.S。对于匿名用户。
答案 0 :(得分:2)
我知道这是旧的,但我需要同样的东西,所以我希望这有助于其他人搜索。
我需要先前Webform步骤中的值来获取自定义Webform组件。 _webform_redner_[component](...)
挂钩不提供form
或form_state
,也提供前面的步骤'数据(超过刚刚提交的上一步骤)不在$_POST
中。
要解决此问题,我使用form_build_id
变量中的$_POST
从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);
/* ... */
您现在拥有整个form
和form_state
,其中还包含之前的步骤'值。
答案 1 :(得分:0)
在这里查看多步骤表单示例:http://drupal.org/node/717750
一般的想法是,在提交功能中,您将所有发布的值保存到$form_state['storage']
,稍后您可以访问这些值。
编辑: 看看我刚刚创建的Prev和Next按钮的示例:http://zgadzaj.com/basic-drupal-multipart-form-example-with-previous-and-next-buttons