您将如何仅通过Java脚本将OnSubmit属性插入表单?

我对javascript很陌生,因此如果您能够提供详细的示例代码,那将是最有帮助的!

这种情况:我正在通过Chargify(付款平台)使用托管的注册页面,以便处理我的应用程序的信用卡,然后将用户发送回我自己的“谢谢/确认”页面。

由于域(我的域-> Chargify.com->我的域)的变化,通过Google Analytics(分析)跟踪整个 channel 非常困难,因为信​​用卡页面由Chargify托管在其自己的域中。

,我越来越近:,我已经能够进行跨域跟踪(chargify.com页面已登录Google Analytics(分析)),并且可以通过将以下onclick属性添加到我的注册链接中来从我的域链接到chargify :

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

但是,我不能在返回途中做同样的事情(收费->确认页面),因为我无权访问托管在Chargify上的付款页面代码,并且因为用户是通过表单提交而不是用户进入我的确认页面的正常链接。

部分解决方案(需要您的帮助才能完成):
Chargify允许为其托管页面提供多个选项,其中之一是添加自定义javascript,这些自定义javascript将插入到</body>标记中的<script>标记之前。

我在Google Analytics(分析)文档中找到了一些有关如何链接页面的资源,并将以下内容添加到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将此属性简单地附加到form标签的方法? 如果您能够提供我应在<script>标记内插入哪些代码的详细示例,将不胜感激。

最佳答案

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

我相信以上示例与您所需要的相似。我们使用document.getElementById来获取对您表单的引用。然后将onsubmit属性设置为提交表单之前要执行的代码。如果在呈现页面之前执行此JavaScript以确保构建表单,请记住将其放在window onload事件中。

07-28 11:04