问题是,在您拥有 GA 代码之前,return valid(this);
由于您要返回某些内容,因此之后的所有代码都将被忽略。您需要重组 onSubmit 代码以允许触发 GA 代码。从链接中查看您的函数,如果表单字段有效,valid()
它看起来最终会返回,如果不是。 true
false
所以有两种方法可以解决这个问题:
方法 A: 将 onSubmit 代码包装在一个条件中
<form method='post' id='form_catalogrequest' name='CatalogRequest' value='CatalogRequest' onSubmit ="if (valid(this)){_gaq.push(['_trackEvent', 'catalogRequest', 'Submit']); return true;} else { return false; }">
方法 B:将您的 GA 代码移动到您的valid()
函数中:
function valid(form){
// lots of form validation stuff that I didn't c/p to save space
_gaq.push(['_trackEvent', 'catalogRequest', 'Submit']);
return true;
}
就我个人而言,我会选择方法 B,因为它是 IMO 清洁剂。