2013-09-24 96 views
0

我正在使用JavaScript来验证表单域。如果通过,我想将活动发送给Google分析。但是它不会将事件发送给GA。在我的表单中我有:表单验证和Google Analytics事件跟踪

<form role="form" name="submit" method="post" onSubmit="return validateForm();"> 

而我的验证码为:

function validateForm() {  
// validate the form and update the section if there is an error 
var spamCheck = document.submit.inputSpamCheck.value; 
    if(document.submit.inputName.value == ''){ 
     document.submit.inputName.focus(); 
     $("#name-section").addClass("has-error"); 
     return false; 
    } 
    else if(document.submit.inputEmail.value == ''){ 
     document.submit.inputEmail.focus(); 
     $("#email-section").addClass("has-error"); 
     return false; 
    } 
    else if(document.submit.inputSpam.value != spamCheck){ 
     document.submit.inputSpam.focus(); 
     $("#spam-section").addClass("has-error"); 
     return false; 
    } 
    else{  
     _gaq.push(['_trackEvent', 'Form', 'Submitted', 'successful', 5]); 
     return true; 
    } 
} 
+0

所以<head>部分下面的脚本

的的onsubmit =“”的形式事件会做,你不控制目标页面,不能把在那里跟踪? – pawel

+1

也http://stackoverflow.com/questions/4086587/track-event-in-google-analytics-upon-clicking-form-submit(看看顶级投票,不只是接受的答案) – pawel

+0

页面更新它的自我成功完成形式,所以没有目标页面。我实际上从表单中删除了提交函数,并重写了JavaScript以在JQuery中进行验证和提交,而无需重新加载页面。原来,POST命令正在吹捧GA推送。 – FreshClicks

回答

0

我认为这是一个老问题,但我很乐意回答,以防万一有人需要帮助。如果粘贴在表格页面这样

<script language="javascript"> 
    function checkContVal() 
    { 
     var fun = document.submit; 
     if(fun.name.value == ""){ 
      //do something 
      return false; 
     } 
     if(fun.email.value == ""){ 
      //do something 
      return false; 
     } 
     if(f.securityCode.value == ""){ 
      //do something 
      return false; 
     } 
    _gaq.push(['_trackEvent', 'Form', 'Submitted', 'successful', 5]); 
    //ga('send', 'event', 'Category','Submit','Contact Us page enquiry'); OR this event if using universal GA. 
    return true; 
    } 
</script> 
相关问题