单击 Drupal 中的链接时如何使用 AJAX 提交表单?
function search_form($form,$form_state) {
$form['support_email'] = array(
'#theme' => 'link',
'#text' => '',
'#ajax' =>array(
'callback' => 'ajax_change',
'wrapper' => 'email-hidden',
'method' => 'replace',
'click' => 'true',
),
);
}
这是我在表单内的表单链接。单击链接时,我希望调用 AJAX 回调函数 ajax_change
,但这似乎没有发生。
最佳答案
#ajax 的表单 API 引用功能说它“用于:按钮、复选框、复选框、图像按钮、密码、单选、单选、选择、提交、表选择、文本区域、文本格式、文本字段”。链接不在列表中,因此不起作用。 #ajax 功能使 Drupal 在指定的表单元素更改时执行 AJAX 调用。由于链接不会更改,因此它不起作用是合乎逻辑的。
Asaf (ajax submit for any form)模块也许能够帮助您实现您想做的事情。
此外,您似乎正在尝试使用此 AJAX 来隐藏元素。 Forms API 有一个 states可以轻松有条件地显示/隐藏元素的功能。阅读 this有关州的更多信息。
#ajax 回调用于创建动态更改自身的表单。
关于ajax - 通过单击表单中的链接进行 drupal ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026951/