Gravity Forms Ajax funktioniert nicht

Lesezeit: 4 Minuten

Benutzer-Avatar
AndreasD

Gravity Forms 1.8.1 verwenden, keine anderen Plugins aktiviert. Getestet auch mit dem neuesten Build 1.9.2 Getestet mit dem Divi-Design sowie dem 2015-Design mit denselben Ergebnissen. Getestet in Chrome und Firefox mit den gleichen Ergebnissen.

Folgender Shortcode hinzugefügt:

[gravityform id="1" name="test-form-1" ajax="true"]

Das Formular wird gesendet, aber immer mit Nicht-Ajax und aktualisiert die Seite. Ich kann dies feststellen, indem ich auf die Registerkarte schaue und die Registerkarten „Net“ in den Entwicklertools von Chrome und Firebug in Firefox ansehe. Die XHR-Anforderungen sind leer, und die Anforderungen werden normal gelöscht und gepostet, als wäre es eine Nicht-Ajax-Anforderung.

Das sollte funktionieren. Ich erhalte keine Fehler oder Konflikte, wenn ich mir die Konsolenregisterkarte von Firebug ansehe. Ich habe niemanden gefunden, der ähnliche Probleme hatte, obwohl ich nicht wirklich sicher bin, wie viele Benutzer von Schwerkraftformularen auf das Verhalten in Firebug achten.

Ich bin sicher, ich übersehe etwas Offensichtliches. Lassen Sie mich wissen, was es ist!


Relevanter Formularcode, der von Gravity Forms generiert wird

<div id="gform_wrapper_1" class="gf_browser_gecko gform_wrapper">
   <a class="gform_anchor" name="gf_1" id="gf_1"></a>
   <form action="/sandbox/#gf_1" id="gform_1" target="gform_ajax_frame_1" enctype="multipart/form-data" method="post">
      <div class="gform_heading">
         <h3 class="gform_title">test-form-1</h3>
         <span class="gform_description"></span>
      </div>
      <div class="gform_body">
         <ul class="gform_fields top_label description_below" id="gform_fields_1">
            <li class="gfield               gfield_contains_required" id="field_1_1">
               <label for="input_1_1" class="gfield_label">Name<span class="gfield_required">*</span></label>
               <div class="ginput_container"><input type="text" tabindex="1" class="medium" value="Joe Smith" id="input_1_1" name="input_1"></div>
            </li>
         </ul>
      </div>
      <div class="gform_footer top_label"> <input type="submit" onclick="if(window[&quot;gf_submitting_1&quot;]){return false;}  if( !jQuery(&quot;#gform_1&quot;)[0].checkValidity || jQuery(&quot;#gform_1&quot;)[0].checkValidity()){window[&quot;gf_submitting_1&quot;]=true;} " tabindex="2" value="Submit" class="button gform_button" id="gform_submit_button_1"><input type="hidden" value="form_id=1&amp;title=1&amp;description=1&amp;tabindex=1" name="gform_ajax">
         <input type="hidden" value="1" name="is_submit_1" class="gform_hidden">
         <input type="hidden" value="1" name="gform_submit" class="gform_hidden">
         <input type="hidden" value="" name="gform_unique_id" class="gform_hidden">
         <input type="hidden" value="WyJhOjA6e30iLCJkZjhiZTNiZTg3NDNmMWNlNDNmNTk1N2M0NTY2ZTRiMSJd" name="state_1" class="gform_hidden">
         <input type="hidden" value="0" id="gform_target_page_number_1" name="gform_target_page_number_1" class="gform_hidden">
         <input type="hidden" value="1" id="gform_source_page_number_1" name="gform_source_page_number_1" class="gform_hidden">
         <input type="hidden" value="" name="gform_field_values">
      </div>
   </form>
</div>

  • Haben die akzeptierten Lösungen für Sie funktioniert? Ich habe Jquery in die Warteschlange gestellt, aber das Formular wird normalerweise neu geladen. KEINE Daten werden über Ajax gesendet. Das einzige, was sich beim Hinzufügen von ajax=true ändert, ist, dass der Spinner anzeigt, dass es das ist.

    – Ericicons

    26. Dezember 2015 um 5:54 Uhr


Aus Performance-Gründen sollten Sie Ihre Skripte dennoch in der Fußzeile belassen. Aber Sie müssen dies in die aufnehmen header.php direkt über deinem <?php wp_head(); ?>:

<?php gravity_form_enqueue_scripts(1,true) ?>

wobei 1 die ID des Formulars ist.

Zusätzlich zu Nate Beers Antwort: Wenn Sie ein reCAPTCHA auf Ihrem Formular haben, funktioniert AJAX nicht. reCAPTCHA ist nicht mit AJAX kompatibel.

Siehe Problem im Gravity Forms Forum.
https://www.gravityhelp.com/forums/topic/ajax-submission-not-working-on-hard-coded-form#post-36914

Ich habe den Anti-Spam-Honeypot von Gravity Forms als reCAPTCHA-Alternative auf der Seite mit den Formulareinstellungen verwendet.

  • Dies mag irgendwann einmal zutreffen, aber seit 2019 funktioniert reCaptcha problemlos mit Gravity Forms AJAX.

    – Hallo_McGee

    11. September 2019 um 21:00 Uhr


Stellen Sie sicher, dass jQuery in den Kopf und nicht in die Fußzeile eingereiht wird.

Ich verwende das Roots/Sage-Framework, in dem es standardmäßig in die Fußzeile eingereiht wird – was genau Ihr Problem verursacht hat.

  • Nachdem ich die Antwort unten gesehen habe, würde ich mich in Zukunft dafür entscheiden.

    – Ryan Palmer

    11. Februar 2016 um 10:21 Uhr

1175250cookie-checkGravity Forms Ajax funktioniert nicht

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

Privacy policy