2013-02-20 2 views
0

뉴스 레터 가입을 Google 애널리틱스의 이벤트로 추적해야합니다. 어디에서 이벤트 추적 코드를 배치합니까? 나는 "성공적인 가입"검증이있는 곳에 배치해야한다는 것을 알고 있지만, 아래 코드의 어떤 부분이 유효성 검사를 수행하는지 알지 못합니다.Google 애널리틱스 이벤트로 AJAX 뉴스 레터 가입을 추적하고 싶습니다.

이 내 GA 이벤트 추적 코드 : 여기

_gaq.push(['_trackEvent', 'Newsletter', 'Suscribe to Newsletter', 'Newsletter Form', 0, false]); 

뉴스 레터 가입 양식입니다 :

<form action="http://www.somesite.com/index.php/newsletter/subscriber/new/" method="post" id="newsletter-validate-detail"> 
<div class="block-content"> 
<div class="input-box"> 
<input type="text" name="email" id="newsletter" title="Subscribe to Newsletter" class="input-text required-entry validate-email" /> 
</div> 
<div class="actions"> 
<button type="submit" title="Subscribe" class="button"><span><span>Send</span></span></button> 
</div> 
</div> 
</form> 

그리고 여기에 뉴스 레터를위한 자바 스크립트입니다 : 사전에

<script type="text/javascript"> 
//<![CDATA[ 
var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail'); 
Varien.newsletterForm = Class.create(); 
Varien.newsletterForm.prototype = { 
initialize : function(form, field, emptyText){ 
this.form = $(form); 
this.field = $(field); 
this.emptyText = emptyText; 
Event.observe(this.form, 'submit', this.submit.bind(this)); 
Event.observe(this.field, 'focus', this.focus.bind(this)); 
Event.observe(this.field, 'blur', this.blur.bind(this)); 
this.blur(); 
}, 
submit : function(event){ 
if (this.field.value == this.emptyText || this.field.value == ''){ 
Event.stop(event); 
return false; 
} 
return true; 
}, 
focus : function(event){ 
if(this.field.value==this.emptyText){ 
this.field.value=''; 
} 
}, 
blur : function(event){ 
if(this.field.value==''){ 
this.field.value=this.emptyText; 
} 
} 
} 
var newsletterForm = new Varien.newsletterForm('newsletter-validate-detail', 
'newsletter', 'Get the latest news');          
//]]> 
</script> 

감사합니다 너의 도움으로. (그것의가 무엇인지) 유효성 검사를 수행 제출 함수로 가야한다

답변

2

: 시간을내어

submit : function(event){ 
if (this.field.value == this.emptyText || this.field.value == ''){ 
    // does not validate so submit event is aborted 
    Event.stop(event); 
    return false; 
} 
    //validates so it's reasonably safe to sent the event 
    gaq.push(['_trackEvent', 'Newsletter', 'Suscribe to Newsletter', 'Newsletter Form', 0, false]); 
    return true; 
} 
+0

덕분에 내 질문에 회신합니다. – user2065626