向Webform添加按钮-问题:执行提交,而不是Ajax回调
我正在使用hook\u form\u alter向Web表单添加一个按钮:向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',
$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);')