Drupal 8表单提交Ajax表单后的回调
Posted
技术标签:
【中文标题】Drupal 8表单提交Ajax表单后的回调【英文标题】:Callback after Ajax form submit by Drupal 8 form 【发布时间】:2020-02-13 21:56:09 【问题描述】:我有一个 Drupal 8 表单(ID:regform),我必须在表单 AJAX 提交后做一些 JS 触发器。
例如表单包含选择计划字段,表单提交后,我必须在同一页面的另一个块中显示一些计算价格,所以我试图在 Ajax 提交后选择一个回调函数。我该怎么办?
【问题讨论】:
【参考方案1】:这在 Drupal 9.2.10 中对我有用:(2021 年 12 月)
jQuery(document).ajaxComplete(function(event, xhr, settings)
if (settings.data.indexOf( "form_id=modal_test_form") != -1)
console.log('Hello!');
);
【讨论】:
【参考方案2】:希望您可以使用以下代码解决您的问题。您可以将此 sn-p 添加到位于您的自定义主题或模块中的 javascript 文件中。
(function ($, Drupal)
Drupal.behaviors.custom =
attach: function (context, settings)
$(document).ajaxComplete(function (event, xhr, settings)
if (settings.data && settings.data.indexOf("form_id=regform") != -1)
//your code here
);
)(jQuery, Drupal);
【讨论】:
它在 drupal 9 上不起作用,这个函数永远不会被调用 $(document).ajaxComplete(function (event, xhr, settings)以上是关于Drupal 8表单提交Ajax表单后的回调的主要内容,如果未能解决你的问题,请参考以下文章