Wordpress + Gravity Forms Ajax + Swup JS

Posted

技术标签:

【中文标题】Wordpress + Gravity Forms Ajax + Swup JS【英文标题】: 【发布时间】:2020-06-17 21:46:38 【问题描述】:

我正在使用 swup.js 进行页面转换和通过 AJAX 更改内容。不幸的是,重力表单似乎不能很好地处理 AJAX 请求,并且我的表单在转换后无法正常工作。

我正在使用以下内容在页面加载时重新初始化我的脚本:

document.addEventListener('swup:pageView', (event) => 
// code 
)

我可以在 javascript 中重新初始化任何函数,以便重力表单在每个页面转换时重新初始化吗?在文档中找不到任何内容。

【问题讨论】:

【参考方案1】:

最终使用 SwupFormsPlugin 和 Contact Form 7 与以下内容

document.addEventListener('DOMContentLoaded', function (event) 
  var domain = window.location.origin // HACK: makes link selector relative
  var isMobile = window.innerWidth < 800
  if (isMobile) 
   else 
    var swup = new Swup(
      plugins: [
        new SwupOverlayTheme(
          color: '#eff6fb',
          duration: 3000,
          direction: 'to-bottom',
        ),
        new SwupBodyClassPlugin(),
        new SwupFormsPlugin( formSelector: 'form.wpcf7-form' ),
        new SwupScrollPlugin(
          doScrollingRightAway: false,
          animateScroll: true,
          scrollFriction: 0.3,
          scrollAcceleration: 0.04,
        ),
      ],
      FORM_SELECTOR: 'form.wpcf7-form',
      LINK_SELECTOR: 'a[href*="'.concat(
        domain,
        '"]:not([data-no-swup]), a[href^="/"]:not([data-no-swup]), a[href^="#"]:not([data-no-swup]), a[xlink\\:href]'
      ),
    )
    swup()
  
)
function domReady (callback) 
  document.readyState === 'interactive' || document.readyState === 'complete'
    ? callback()
    : document.addEventListener('DOMContentLoaded', callback)

export  domReady 

首页它可以帮助任何人

【讨论】:

【参考方案2】:

我知道帖子的日期很远,但是这个问题突然出现在我面前,以防你找不到答案,

尝试使用此代码,这将观察任何适用于主体 DOM 的更改,并会触发您想要的任何内容:

<script>
    $(document).on('DOMSubtreeModified', 'body', function (el) 
        console.log('body content changed');
        // append you init code here
    );
</script>

告诉我这是否有效。

【讨论】:

问题主要在于如何触发 GF 初始化功能,而不是如何知道页面何时发生变化。在我的问题中,基本上我正在寻找可以在控制台中运行的行来初始化重力表单。

以上是关于Wordpress + Gravity Forms Ajax + Swup JS的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Wordpress Gravity Forms 中使用 PHP 创建条目

在 Wordpress Gravity Forms 之间移动表单条目

使用 Paypal 帐户在 Wordpress Gravity Forms 上使用 Paypal 支付

Gravity Forms 文件上传导致 WordPress Admin 出现 404

如何在 WordPress 网站中使用 Zapier 插件为 Gravity Forms 创建多个逻辑条件?

WordPress Gravity Forms 按用户角色向 WP 用户动态发送通知