-2

很明显,如果我把一个表格变成一个多步表格:

  if(!isset($form_state['storage']['step']))
    $form_state['storage']['step'] = 1;

并做form_set_error()验证

当验证错误出现时,我之前输入的值就会消失......

所以如果我在多步表单中的文本框中输入一个值然后点击继续然后出现验证错误,文本框现在将为空而不是填充我之前输入的值,因为它会正常发生

有没有办法在不手动重新输入每个表单元素的默认值的情况下防止这种情况发生?

仅供参考我正在使用drupal 6

4

1 回答 1

0

您可以将 textfield 的默认值设置为在 form_state 数组中提交的值,例如 $form_state['values']['textfield name']['#value']。然后提交的值出现在其中.您还可以从http://drupal.org/project/examples获得更多帮助

于 2012-05-01T04:46:44.843 回答