我正在尝试提交表单并使用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;
}
Run Code Online (Sandbox Code Playgroud)
hook_form_alter() 确实被召唤了.
下面没有被调用?
function myform_form_submit($form, $form_state) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是一个常见的问题,但我已经被困了几个小时试图让它工作.
如果我删除 $form['#action'] = url('myurl'); myform_form_submit()被调用.但是我得到了一个带有jason脚本的白色屏幕.