フォームの送信入力に対してonclickイベントにアナリティクスイベントトラッキングを追加しようとしています。フォーム送信時にGoogleアナリティクスイベントを発生させる
私は複数の異なる例を試して、この点に到達するためにいくつかの異なるSOの投稿を参照しました。私はonclickをフォームを送信するか、追跡イベントを発生させることができますが、両方を行うことはできません。
まず例:(送信するフォーム+ログコンソールになく、イベントを発生しません)
<!-- Analytics tracking code -->
<form action="test.php" id="form" method="post">
<input type="text" name="name" id="name">
<!-- Submits form + logs to console but doesn't fire event -->
<input type="submit" name="submit" value="Submit" onclick="
var _this = this;
_gaq.push(
['_trackEvent', 'Forms', 'Submit', 'Home Contact'],
function() {
console.log('submitting');
$(_this).parents('form').submit();
}
);
">
</form>
第二の例:(火災イベント+コンソールにログが、フォームを送信していません)
最初の例のonclickイベントの最後にfalseを返すと、アナリティクスイベントトラッキングは発生しますが、フォームは送信されません。
私は1秒のタイムアウト+を持っているために、これを修正が行方不明に追加[Analyticsのコードを押してください。イベントトラッキングは機能しましたが、フォームは送信されませんでした。 – James
入力ミス(setTimeoutに遅延がありません!)が残念です - わずかな遅延が必要ですが、150msが動作するようです。私はまた別の例を加えました。 – mike
私はまだこれを動作させることができません、これらの両方がanalyticsイベントを発生させますが、どちらもフォームを送信しません。私は助けることができませんが、私は何かが明らかに欠けているように感じる。 – James