2016-11-01 5 views
0

Ich brauche ein Onclick-Ereignis auf eine Submit-Button einer dynamicaly erzeugten Form, und das vereinfachte Version von Form wie folgt aussieht hinzuzufügen:OnClick Form Knopf

<div class="form"> 
    <form action="demo_form.php"> 
    <input type="text" name="fname" placeholder="First name"><br> 
    <input type="text" name="lname" placeholder="Last name"><br> 
    <input type="submit" value="Submit" class="wpcf7-submit"> 
    </form> 
</div> 

Ich frage mich, ist dies der richtige Weg hinzufügen es (ich bin ein Javascript Neuling), ist auch bekannt als der Code korrekt diese

document.getElementsByClassName('.form .wpcf7-submit').onclick = ga('send', 'event', { eventCategory: 'Contact Form', eventAction: 'Submit', eventLabel: 'Send Contact', eventValue: 50});; 
+0

Warum jQuery haben Sie markieren? – putvande

+0

nur um zu sehen, hat jemand eine bessere jquery Alternative zu dem, was ich oben geschrieben habe :) – Vlidurno

Antwort

0

formated Versuchen:

document.getElementsByClassName('.wpcf7-submit')[0].onclick = function() { 
    ga('send', 'event', { eventCategory: 'Contact Form', eventAction: 'Submit', eventLabel: 'Send Contact', eventValue: 50});; 
} 
+0

Wenn ich darf, eine Frage :) Wäre es einfacher Weg, nur diese anhängen onClick = "ga ('send', 'event', { eventCategory: 'Kontaktformular', eventAction: 'Kontakt senden', eventLabel: 'Send', eventValue: 50}); " zu einem Senden-Button? – Vlidurno

+0

Nein, du kannst ga (...) nicht in zusätzliche Funktionen umwandeln, da auf diese Weise ga sofort statt Click-Ereignis aufgerufen wird. Es ist auch eine schlechte Praxis, HTML-On-Attribute zu verwenden. –

+0

ahhh, okay, ich denke, ich verstehe, danke! Wenn es Ihnen nichts ausmacht, können Sie einen Blick darauf werfen und raten, ob es funktioniert https://jsfiddle.net/ctm2chnj/1/ – Vlidurno

0

Wenn Sie versuchen, Ereignis via Coding hinzuzufügen, können Sie .addEventListener() Methode von Javascript verwenden, das Ereignis anhängen wird.

document.getElementsByClassName(".form .wpcf7-submit'")[0].addEventListner("click",YourFunctionName); 


Geschichte: - Hier [0] ist ein Index für dieses Element können Sie festlegen, was Element, das Sie holen wollen. Außerdem Index beginnt immer bei 0. Echtzeit Beispiel: -

<p class="Test"></p> 
<p class="Test"></p> 

document.getElementsByClassName("Test")[0].addEventListner("click",Fade); 

Dieses Element bei 0 oder ersten <p> Tag holen wird

0

Wie andere bereits festgestellt haben, können Sie so etwas wie dies auf dem Frontend tun könnten:

document.querySelector('.wpcf7-submit').onclick = function() { 
    ga('send', 'event', { 
          eventCategory: 'Contact Form', 
          eventAction: 'Submit', 
          eventLabel: 'Send Contact', 
          eventValue: 50 
         }); 
} 

jedoch judgint vom HTML zur Verfügung gestellt, die Sie verwenden Kontaktformular 7, die für diese Lösungen in gebaut hat, so müssen Sie nicht auf Ihrem Frontend mit Tracking-Code verschmutzen, wenn Sie den Zugriff auf die haben Admin-Schnittstelle Ihrer WP-Installation.

einfach die folgenden auf die ‚weiteren Einstellungen‘ Ihre WPCF7 Einstellungen Seite hinzufügen:

on_sent_ok: "ga('send', 'event', { eventCategory: 'Contact Form', eventAction: 'Submit', eventLabel: 'Send Contact', eventValue: 50});" 

Ich mag an einem Ort meines Kontaktformular bezogene Funktionalität halten, aber das ist auf dem persönlichen Vorlieben auf.

0

Da Sie jQuery markiert, ist hier eine Demo Alternative jQuery:

// adding an on click event on the form's submit button 
 
$('.form .wpcf7-submit').on('click', function(e){ 
 
\t e.preventDefault(); // NOTE: comment this out to let the form execute demo_form.php 
 
    
 
    // call ga() function with the necessary parameters 
 
    ga('send', 'event', { eventCategory: 'Contact Form', eventAction: 'Submit', eventLabel: 'Send Contact', eventValue: 50}); 
 
    
 
}) 
 

 
function ga(eventname, purpose, formObject) { 
 
\t console.log(eventname); 
 
    console.log(purpose); 
 
    console.log(formObject); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form"> 
 
    <form action="demo_form.php"> 
 
    <input type="text" name="fname" placeholder="First name"><br> 
 
    <input type="text" name="lname" placeholder="Last name"><br> 
 
    <input type="submit" value="Submit" class="wpcf7-submit"> 
 
    </form> 
 
</div>

Verwandte Themen