Löst jquery aus, wenn auf die Eingabeschaltfläche „Gravity Forms“ geklickt wird

Lesezeit: 3 Minuten

Benutzer-Avatar
Joshc

Ich habe die Frage aktualisiert, da dies möglicherweise auf Schwerkraftformen zurückzuführen ist, die das Funktionieren einer einfachen Funktion verhindern. Der Grund, warum ich das sage, ist, dass ich so viele Optionen (unten aufgeführt) ausprobiert habe, um eine jQuery-Funktion auszulösen, und keine davon funktioniert, wenn sie sollte.

Ich habe eine einfache Funktion, unter der 100% funktioniert …

var $contactButton  = $(".contact-slide a"),
    $contactSlide   = $("#horizon-slide");

function () {
    $contactSlide.stop().css("top","0");
};

So einfach es wird, aber ich versuche, dies auszulösen, wenn auf meine Senden-Schaltfläche von einer Schwerkraft aus geklickt wird.

Dies ist das Eingabe-Markup für WordPress-Schwerkraftformulare …

<input type="submit" id="gform_submit_button_1" class="button gform_button" value="Send" tabindex="7"></input>

Dies sind alle Skripte unten, die ich ausprobiert habe, aber keines davon führt die Funktion aus …

Skript eins

$("input#gform_submit_button_1").on('click', function () {
    $contactSlide.stop().css("top","0");
});

Skript Zwei

$("input#gform_submit_button_1").click(function() {
    $contactSlide.stop().css("top","0");
});

Skript drei

$("input#gform_submit_button_1").focus(function () {
    $contactSlide.stop().css("top","0");
});

Skript vier

$("form#gform_1").submit(function(event) {
$contactSlide.stop().css("top","0");
});

habe ich auch probiert…

return false; 

und

return true;

auf allen oben genannten Skripten, aber keines von ihnen gibt die Funktion zurück. Wenn ich die Skripte so einstelle, dass sie „false“ zurückgeben, wird das Formular nicht gesendet, aber wenn ich „true“ einstelle, wird das Formular gesendet, aber die Funktion wird nicht ausgeführt.

Warum passiert das, ich dachte, das wäre grundlegendes Zeug?

Danke für jede Hilfe.

  • return true; Anstatt von false

    – schief

    12. Dezember 2011 um 14:11 Uhr


  • Ihre Klickfunktion kehrt zurück false. Dies verhindert das Absenden des Formulars.

    – Emre Erkan

    12. Dezember 2011 um 14:11 Uhr


  • Ich habe dies versucht, und das Formular wird jetzt gesendet, aber die Funktion wird nicht ausgeführt

    – Joshc

    12. Dezember 2011 um 14:58 Uhr

Versuchen Sie, beim Absenden des Formulars etwas auszuführen? Wenn Sie die AJAX-Übermittlungsmethode des Formulars verwenden, können Sie die verwenden gform_confirmation_loaded -Ereignis, um JavaScript auszuführen, nachdem das Formular gesendet wurde.

$(document).on('gform_confirmation_loaded', function(e, form_id){
   if(form_id == 2) {
       $contactSlide.stop().css("top","0");
   }
});

Es wird bei jeder Formularübermittlung ausgeführt. Um das Formular anzugeben, testen Sie also den form_id-Parameter, der an den Event-Handler übergeben wird.

Sie können es über das Formular senden steuern, wenn Sie ein Formular haben.

<script type="text/javascript" src="https://stackoverflow.com/questions/8475540/js/jquery1.6.1.js"></script>
<script type="text/javascript">
 $(document).ready(function () {
   $("#forma").submit(function(event) {
       //do what ever you need to here
        return false;
    });
});
</script>
<form name="1stform" method="post" action="https://stackoverflow.com/">
    <input type="text" name="misc" id="misc" />
    <input type="submit" name="submit" id="submit" value="submit 1st form"/>
</form>

  • Hallo Andres danke für deine Antwort, ich habe deine Methode ausprobiert aber das Script läuft nicht. Ich habe versucht, sowohl false als auch true zurückzugeben. Return false stoppt das Absenden des Formulars, aber return true führt den Inhalt der Funktion aus

    – Joshc

    12. Dezember 2011 um 14:54 Uhr

  • Der Code enthält einen Fehler, er sollte

    lauten

    – ChrisRae

    5. April 2015 um 18:33 Uhr

Benutzer-Avatar
Nick Schwelidse

$contactInput.focus(function () {
    $contactSlide.stop().css("top","0");
    $('body,html').animate({
        scrollTop: 0
    }, 0);
    return true;
});

Versuche es 🙂

  • Es führt die Funktion nicht aus, hmmm komisch. Ich habe meinen gesamten Code dreifach überprüft, aber das Skript läuft gut, aber ich denke, es hat etwas damit zu tun, dass die Variable nicht funktioniert, aber es sollte sicher sein, oder weil ich Schwerkraftformen verwende, vielleicht stört das. Kennen Sie eine Möglichkeit, wie ich dies tun kann, indem ich der Eingabe einen Onclick hinzufüge? Vielen Dank

    – Joshc

    12. Dezember 2011 um 14:57 Uhr

  • Ich habe es ohne die Variable versucht und die Funktion immer noch nicht ausgeführt.

    – Joshc

    12. Dezember 2011 um 15:04 Uhr

1371200cookie-checkLöst jquery aus, wenn auf die Eingabeschaltfläche „Gravity Forms“ geklickt wird

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

Privacy policy