【问题标题】:Callback after Ajax form submit by Drupal 8 formDrupal 8表单提交Ajax表单后的回调
【发布时间】:2020-02-13 21:56:09
【问题描述】:

我有一个 Drupal 8 表单(ID:regform),我必须在表单 AJAX 提交后做一些 JS 触发器。

例如表单包含选择计划字段,表单提交后,我必须在同一页面的另一个块中显示一些计算价格,所以我试图在 Ajax 提交后选择一个回调函数。我该怎么办?

【问题讨论】:

    标签: ajax drupal-8


    【解决方案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) {
      猜你喜欢
      • 2016-07-24
      • 2017-05-16
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多