向Webform添加按钮-问题:执行提交,而不是Ajax回调

向Webform添加按钮-问题:执行提交,而不是Ajax回调,ajax,drupal-7,drupal-hooks,Ajax,Drupal 7,Drupal Hooks,我正在使用hook\u form\u alter向Web表单添加一个按钮: $form['submit_ajaxSearch'] = array( '#type' => 'button', '#ajax' => array( 'action' => 'click', 'callback' => 'search_callback',

我正在使用hook\u form\u alter向Web表单添加一个按钮:

$form['submit_ajaxSearch'] = array(
                '#type' => 'button',
                '#ajax' => array(
                    'action' => 'click',
                    'callback' => 'search_callback',
                    'wrapper' => 'confirm',
                    'method' => 'replace',
                    'name' => 'search',
                ),
                '#value' => t('Address Lookup'),
            );
我可以在模块中设置jQuery.click(),但无法执行Ajax回调。当按钮作为模块的一部分添加到表单时(即,如果它是
mymodule\u表单
),它会工作,但当按钮添加到
mymodule\u表单
中的Web表单时,它会执行提交而不是回调

如何让ajax回调执行ajax,而不是Submit

由于Drupal创建了一个“Submit”按钮,即使您只需要一个简单的按钮,您也必须向Drupal指定您不希望该按钮执行Submit回调。 可以通过将该按钮的“#执行_提交_回调”设置为false来完成此操作

例如:

由于Drupal创建了一个“提交”按钮,即使您只需要一个简单的按钮,您也必须向Drupal指定您不希望该按钮执行提交回调。 可以通过将该按钮的“#执行_提交_回调”设置为false来完成此操作

例如:

因为“#执行_提交_回调”不会阻止页面发送POST请求

为此,必须添加自定义属性,如:

#attributes' => array('onclick' => 'return (false);')
因为“#执行_提交_回调”不会阻止页面发送POST请求

为此,必须添加自定义属性,如:

#attributes' => array('onclick' => 'return (false);')