我在 Drupal 7 中使用表单更改向节点表单添加另一个按钮:
function mymod_form_alter(&$form, &$form_state, $form_id) {
$form[$key]['button'] = array(
'#type' => 'submit',
'#value' => t('Seach),
'#limit_validation_errors' => array(),
'#submit' => array('mymod_process'),
);
}
...
...
function mymod_process(&$form, &$form_state) {
$form_state['rebuild'] = TRUE;
// Do my processing here...
}
我已添加$form_state['rebuild'] = TRUE;
以在按下按钮时保留表单值。我第一次按下这个按钮,第二次按下我的自定义按钮,它给了我以下错误:
PHP Fatal error: Cannot create references to/from string offsets nor overloaded objects in /www/includes/common.inc on line 6430
然后当我重新加载页面时, drupal_set_message() 报告以下内容:
Notice: Array to string conversion in drupal_attributes() (line 2298 of /www/includes/common.inc).
如果我取出$form_state['rebuild'] = TRUE;
,错误就会消失。但是随后表单值不会被保留。有什么想法可以在不遇到此错误的情况下保留表单值吗?