如何在Drupal7中创建多步骤自定义表单后退按钮?

如何在Drupal7中创建多步骤自定义表单后退按钮?,drupal,drupal-7,drupal-modules,drupal-views,drupal-8,Drupal,Drupal 7,Drupal Modules,Drupal Views,Drupal 8,我用两个步骤制作自定义表单,如果用户单击步骤2表单上的“后退”按钮,我希望表单重定向到步骤1,并显示用户在开始时输入的数据。这是我的密码 function example_form($form, &$form_state) { if (!empty($form_state['step_num'])) { return example_step_two($form, $form_state); } $form_state['step_num'] = 1; $f

我用两个步骤制作自定义表单,如果用户单击步骤2表单上的“后退”按钮,我希望表单重定向到步骤1,并显示用户在开始时输入的数据。这是我的密码

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;
}

看起来您需要测试
示例表单()
中的
'step\u num'
是否为2,而不是它是否为空:

if ($form_state['step_num'] == 2) {
    return example_step_two($form, $form_state);
}
然后在
示例\u form\u step\u two\u back()
中,您需要添加:

$form_state['step_num'] = 1;
要显示以前用户输入的
'title'
值,必须向其中添加
'#default_value'
元素,该元素在该值存在时设置