0
我做了2个步骤的自定义表单,我想如果用户点击第2步上的返回按钮表单重定向到第1步并显示用户在开始时输入的数据。这是我的代码如何在Drupal 7中创建多步自定义表单后退按钮?
function example_form($form, &$form_state) {
if (!empty($form_state['step_num'])) {
return example_step_two($form, $form_state);
}
$form_state['step_num'] = 1;
$form['title'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#required' => TRUE,
);
$form['next'] = array(
'#type' => 'submit',
'#value' => 'Next',
'#submit' => array('example_form_submit'),
);
return $form;
}
,这是我的提交功能
function orders_order_form_submit($form, &$form_state) {
$form_state['page_values']['1'] = $form_state['values'];
if (!empty($form_state['page_values'][2])) {
$form_state['values'] = $form_state['page_values'][2];
}
$form_state['step_number'] = 2;
$form_state['rebuild'] = TRUE;
}
,这是我的表单的第二步
function example_form_step_two($form, &$form_state){
$form['title2'] = array(
'#type' => 'textfield',
'#title' => t('Title2'),
'#required' => TRUE,
);
$form['back'] = array(
'#type' => 'submit',
'#value' => t('Back'),
'#submit' => array('example_form_step_two_back'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
'#submit' => array('example_form_step_two_submit'),
);
return $form;
}
,这是问题的功能后退按钮
function example_form_step_two_back($form, &$form_state){
$form_state['rebuild'] = TRUE;
}