我使用hook_form_alter在CCK表单的字段组中添加了一个提交按钮,如下所示:
function mymodule_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'object_node_form') {
$form['group_wikipedia']['search'] = array(
'#type' => 'submit',
'#value' => t('Search Wikipedia'),
'#name' => 'searchwiki',
'#submit' => array('mymodule_searchwiki_submit'),
);
}
}
当我按下按钮时,完整表格的验证处理程序,例如。检查必填字段,就像我按下表格末尾的“提交”按钮一样。
我认为将#name属性从'op'更改为'searchwiki'会阻止这种混淆,但不是这样。
有人知道解决方法吗?
答案 0 :(得分:0)
我相信无论用户按哪个提交按钮,都会一直提交整个表单。 如果你想创建一个搜索功能,你可以做的是制作一些获取数据并显示它的AJAX。使用jQuery你也可以停止表单提交,但是在按钮点击功能上返回FALSE(你可以在js中创建)。你可能无法使用Drupal形式api的优点。
答案 1 :(得分:0)
您可以使用jQuery的event.preventDefault()