2016-09-15 14 views
1

Ich versuche, eine Warnung zu zeigen, wenn das Formular abgeschickt wird.Kontaktformular 7 on_submit funktioniert nicht

Ich habe diesen Code auf "Weitere Einstellungen" auf Contact Form 7-Plugin (Version 4.2.2)

on_submit: "alert ('übermittelte');"

Nichts erscheint.

  • Keine Fehler noch Warnungen an Konsole
  • Keine Fehler noch Warnungen an Firebug
  • Ich denke, keinen Konflikt Javascript seit Contact Form 7 erfolgreich E-Mails sendet
  • Ich bin sicher, dass Form „vorgelegt“, weil Ich kann sehen, Kontakt Formular 7 Formular Validierung Fehler

Haben Sie Ideen, wie Sie dieses Problem lösen oder debuggen weiter?

Antwort

0

Haben Sie einen Link für uns, um dies weiter zu überprüfen? Es ist ziemlich schwer so.

Aber: "Ich bin sicher, dass Formular ist" eingereicht ", weil ich Kontakt Formular 7 Form Validierung Fehler sehen kann" -> ist es Server-Validierung oder Frontend-Validierung? Vielleicht wird es nicht gesendet?

Alles Gute

2

Es ist nicht einfach eine Vermutung zu nehmen, ohne den Quellcode zu sehen, aber ich fühle mich heute glücklich.

Funktioniert Ihre Form überhaupt? Wenn nicht, ist es wahrscheinlich, dass das JavaScript von Contact Form 7 auf Ihrer Website nicht funktioniert.

Ich werde Ihnen ein paar mögliche Ursachen dafür zeigen.

JavaScript-Datei nicht geladen wird

Dies ist die Ursache, die ich habe die zuletzt seit einiger Zeit erleben. Dies liegt an Ihrer Vorlage, die keine aufrufenden Funktionen für das Einreihen von JavaScript enthält. Die benötigten Funktionen sind wp_head() und wp_footer(), und sie sind in header.php bzw. footer.php in den meisten richtigen Themen.

Konflikte mit anderen JavaScript

Viele Plugins und Themes laden ihre eigenen JavaScript. Einige von ihnen wurden möglicherweise falsch erstellt und stehen daher in Konflikt mit anderen Plugins. In den meisten Fällen können Sie JavaScript-Fehler mit Firebug, einem Add-on für Firefox, finden, wenn solche Konflikte auftreten.

HTML-Struktur ist nicht gültig

Wie andere JavaScript, Contact Form 7 der JavaScript durchläuft und manipuliert die Struktur von HTML. Wenn die ursprüngliche HTML-Struktur nicht gültig ist, funktioniert es daher nicht. Sie können überprüfen, ob Ihr HTML mit einem HTML-Validator gültig ist oder nicht. Ich empfehle den W3C Markup Validation Service zur Verwendung in einem solchen Fall.

Mein Rat ist, CF 7 Standard Art und Weise der Umsetzung Ihrer Idee zu verwenden - wir nennen werden:

"1. Beste Option".

Gehen Sie auf WP Dashboard zu Kontakt (CF7) und wählen Sie Ihr Formular und gehen Sie zum Tab "Zusätzliche Einstellungen".

Dort können Sie einen ähnlichen Code wie folgt hinzu:

on_sent_ok: "alert('sent ok');" 
on_submit: "alert('submit');" 

Wenn Sie on_sent_ok: durch einen einzeiligen JavaScript-Code gefolgt eingestellt haben, können Sie den Kontakt sagen Sie den Code bilden, die ausgeführt werden soll, wenn die Mail erfolgreich gesendet. Ebenso können Sie unter on_submit: den Code angeben, der beim Übermitteln des Formulars unabhängig vom Ergebnis ausgeführt werden sollte.

on_sent_ok: "some js code here"

Sie können es verwenden Funktionen wie folgt zu nennen:

Auf beiden der Aktionen können Sie jede Art von JS-Code, wie Sie es in Ihrer JS-Datei verwenden

on_sent_ok: "your_function();"

Oder einige Code schreiben (dieses leitet Sie Seite danken):

on_sent_ok: "document.location='/thank-you-page/';"

2. Und eine weitere Option ist es mit jQuery zu handhaben:

Contact Form 7 ist daran interessiert, eine Anzahl von Javascript Ereignisse zu emittieren, dass Blase bis zu dem Dokument-Objekt. In der Version 4.2 finden Sie diese in contact-form-7/includes/js/scripts.js. Wenn Sie jQuery verwenden können Sie diese Ereignisse wie folgt zugreifen:

$(document).on('spam.wpcf7', function() { console.log('submit.wpcf7 was triggered!'); });

$(document).on('invalid.wpcf7', function() { console.log('invalid.wpcf7 was triggered!'); });

$(document).on('mailsent.wpcf7', function() { console.log('mailsent.wpcf7 was triggered!'); });

$(document).on('mailfailed.wpcf7', function() { console.log('mailfailed.wpcf7 was triggered!'); });

EDIT:

Einige dieser Optionen sind jQuery benutzt, aber irgendwie veraltet, also wenn Sie enc Unter Problemen versuchen Sie zB mit. 'wpcf7: mailsent' anstelle von 'mailsent.wpcf7'.

Das gleiche Format gilt für andere Option, tatsächlich alle Optionen in der angegebenen Datei zu beobachten sind:

wp-content/plugins/Kontakt-form-7/includes/js/script.js

0

Ich denke, etwas blockiert Ihr Popup.

Versuchen Debuggen „console.log“ verwenden, so dass Sie dies als ein potenzielles Problem zu beseitigen:

on_submit:"console.log('Submitted');" 
+0

kein Glück, nichts auf der Konsole –

Verwandte Themen