wake-up-neo.net

Kontaktformular 7 - Hinzufügen einer benutzerdefinierten Funktion beim Senden einer E-Mail

Einfach mal mit Wordpress / Contact Form 7 rumspielen.

Kann bei einem erfolgreichen E-Mail-Sendeereignis eine benutzerdefinierte Javascript-Funktion hinzugefügt werden?

9
Iladarsda

Schreiben Sie dies in zusätzliche Einstellungen am unteren Rand der Konfigurationsseite des Kontaktformulars:

on_sent_ok: "some js code here"

UPDATE: Sie können damit Funktionen wie diese aufrufen:

on_sent_ok: "your_function();"

Oder schreiben Sie einen Code (dieser leitet weiter, um sich bei Ihnen zu bedanken):

on_sent_ok: "document.location='/thank-you-page/';"
27
Igor Jerosimić

Das Kontaktformular 7 gibt eine Reihe von Javascript-Ereignissen aus, die bis zum Dokumentobjekt aufsteigen. In Version 4.1 befinden sie sich in Kontaktformular 7/includes/js/scripts.js. Wenn Sie jQuery verwenden, können Sie folgendermaßen auf diese Ereignisse 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!');
});
26
likesalmon

versuche dies:

$( document ).ajaxComplete(function( event,request, settings ) {
   if($('.sent').length > 0){
       console.log('sent');
   }else{
       console.log('didnt sent');
   }

});
3
Erez Lieberman

Nur eine kurze Notiz, dass on_sent_ok veraltet ist.

Kontaktformular 7 verwendet jetzt Ereignis-Listener wie diesen.

<script type="text/javascript">
  document.addEventListener( 'wpcf7mailsent', function( event ) {
      if ( '11875' == event.detail.contactFormId ) { // if you want to identify the form
       // do something
      }
  }, true );
</script>

Fügen Sie dies dann der Aktion wp_footer hinzu.

so was;

add_action( 'wp_footer', 'wp1568dd4_wpcf7_on_sent' );

function wp1568dd4_wpcf7_on_sent() { 
  // the script above
}
1
Chris Pink

Beispiel 1:

on_sent_ok: "location = 'http://mysite.com/thanks/';"

Beispiel 2: In Form Script:

<div id="hidecform">
<p>You name<br />
    [text* your-name] </p>
...
</div>

Dann am unteren Rand der Admin-Seite unter "Zusätzliche Einstellungen" Folgendes einfügen:

on_sent_ok: "document.getElementById('hidecform').style.display = 'none';"
1
Clevelus