停止自定义提交按钮,在CCK表单上触发表单验证

时间:2009-06-27 22:27:01

标签: drupal cck drupal-fapi drupal-alter

我使用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'会阻止这种混淆,但不是这样。

有人知道解决方法吗?

2 个答案:

答案 0 :(得分:0)

我相信无论用户按哪个提交按钮,都会一直提交整个表单。 如果你想创建一个搜索功能,你可以做的是制作一些获取数据并显示它的AJAX。使用jQuery你也可以停止表单提交,但是在按钮点击功能上返回FALSE(你可以在js中创建)。你可能无法使用Drupal形式api的优点。

答案 1 :(得分:0)

您可以使用jQuery的event.preventDefault()

http://api.jquery.com/event.preventDefault/