フォームを送信して hook_form_submit を使用しようとしています。
問題は、フォームが ajax 経由で表示されるため、hook_form_submit が呼び出されないことです。
$items['ajaxgetform/%'] = array(
'page callback' => 'ajaxgetform',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK
);
function ajaxgetform($form_id) {
drupal_get_form($form_id);
return drupal_json($panel);
}
function_myform_form($form_state) {
$form['myform'] = array(
'#title' => 'myform value',
'#type' => 'textfield',
'#default_value' => 'myform default value'
);
$form['#action'] = url('myurl');
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'submit'
);
$form['#ajaxsubmit'] = TRUE;
return $form;
}
hook_form_alter()
呼び出されます。
以下は呼び出されませんか?
function myform_form_submit($form, $form_state) {
// ...
}
これが一般的な問題かどうかはわかりませんが、それを機能させるために何時間も立ち往生しています。
削除する $form['#action'] = url('myurl');
myform_form_submit()
と呼び出されます。ただし、jason スクリプトで白い画面が表示されます。