WordPress + Gravity Forms Ajax + Swup JS

Lesezeit: 2 Minuten

Ich verwende swup.js für den Seitenübergang und das Ändern von Inhalten über AJAX. Leider scheint Gravity Forms die AJAX-Anfrage nicht gut zu handhaben und mein Formular funktioniert nach dem Übergang nicht.

Ich verwende Folgendes, um meine Skripte beim Laden der Seite neu zu initialisieren:

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

Gibt es eine Funktion, die ich in Javascript neu initialisieren könnte, damit Gravity-Formulare bei jedem Seitenwechsel neu initialisiert werden? Konnte nichts in der Dokumentation finden.

Ich weiß, das Datum des Beitrags ist weit entfernt, aber diese Frage ist mir gerade aufgetaucht, und falls Sie die Antwort nicht finden konnten,

Versuchen Sie, diesen Code zu verwenden, dieser wird alle Änderungen beobachten, die für das DOM des Körpers gelten, und wird auslösen, was Sie wollen:

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

Sag mir, ob das funktioniert oder nicht.

  • Das Problem ist hauptsächlich, wie man die GF-Initialisierungsfunktion auslöst und nicht, wie man weiß, wann sich die Seite geändert hat. In meinem Problem suche ich im Grunde nach einer Zeile, die in der Konsole ausgeführt werden könnte, um das Gravity Form zu initialisieren.

    – Fredy31

    27. April 2020 um 17:09 Uhr

Am Ende habe ich SwupFormsPlugin und Contact Form 7 mit folgendem verwendet

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 }

Zuhause hilft es jedem

1335600cookie-checkWordPress + Gravity Forms Ajax + Swup JS

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy