5

Javascriptのみを介してOnSubmit属性をフォームに挿入するにはどうすればよいですか?

私はjavascriptにかなり慣れていないので、詳細なサンプルコードを提供できれば、それが最も役立ちます。

状況は次のとおりです。アプリのクレジットカードを処理するためにChargify(支払いプラットフォーム)を介してホストされたサインアップページを使用してから、ユーザーを自分のありがとう/確認ページに戻します。

クレジットカードのページはChargifyが独自のドメインでホストしているため、ドメイン(my domain-> Chargify.com-> my domain)が変更されているため、GoogleAnalyticsで目標到達プロセス全体を追跡することは非常に困難です。

近づいています:クロスドメイントラッキングを機能させることができ(chargify.comページはGoogle Analyticsにログインします)、次のonclick属性をサインアップリンクに追加することで、ドメインからchargifyにリンクできます。

onclick="_gaq.push(['_link', 'http://my-domain.chargify.com/subscriptions/new']); return false;"

ただし、Chargifyがホストする支払いページコードにアクセスできず、ユーザーがフォームの送信ではなくフォームの送信を介して確認ページに移動するため、帰りに同じことを行うことはできません(Chargify->確認ページ)。通常のリンク。

部分的な解決策(これを完了するにはあなたの助けが必要です):</body> Chargifyは、ホストされているページにいくつかのオプションを許可します。そのうちの1つは、タグのタグの 直前に挿入されるカスタムJavaScriptを追加すること <script>です。

ページをリンクする方法に関するGoogleAnalyticsのドキュメントでいくつかのリソースを見つけました。また、Chargifyフォームタグに以下を追加すると機能する可能性があります:( onsubmit="_gaq.push(['_linkByPost', this]);" 出典:https ://developers.google.com/analytics/devguides/collection/gajs/methods/ gaJSApiDomainDirectory#_gat.GA_Tracker _._ linkByPost

フォームタグには現在onsubmit属性がありません。これは、次のとおりです。 <form action="/my_product/subscriptions" class="new_submission" id="hosted_payment_form" method="post">

Javascriptを使用してこの属性をフォームタグに追加する方法はありますか?<script>タグ 内に挿入する必要のあるコードの詳細な例を提供していただければ幸いです 。

4

1 に答える 1

9
window.onload = function() {
    var form = document.getElementById('hosted_payment_form');
    form.onsubmit = function() {
        _gaq.push(['_linkByPost', this]);
    }
}

上記の例はあなたが必要としているものと似ていると思います。document.getElementByIdを使用して、フォームへの参照を取得します。次に、onsubmitプロパティを、フォームを送信する前に実行するコードに設定します。フォームが確実に作成されるように、ページがレンダリングされる前にこのJavaScriptが実行される場合は、これをウィンドウのonloadイベント内に配置することを忘れないでください。

于 2012-12-12T22:42:56.063 に答える