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;
ボタンが押されたときにフォームの値を保持するように追加しました。これが機能するボタンを初めて押すと、カスタムボタンを2回押すと、次のエラーが表示されます。
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;
と、エラーはなくなります。ただし、フォームの値は保持されません。このエラーを発生させずにフォームの値を保持する方法はありますか?