onClick,输入类型=“图像”

时间:2011-07-05 16:21:37

标签: javascript html

我一直在寻找一个确定的答案。基本上,我想将Google Analytics事件跟踪添加到表单提交 - 我希望添加一个onClick,但我很难找到所有浏览器是否支持它。

我问设计表单的人,她说他们没有使用按钮类型的原因是导致在某些浏览器中提交表单的问题,但是不记得是哪些。

那么,它可以跨浏览器工作,还是应该切换到按钮?

以下相关代码:

<input name="submit" id="submitme" type="image" 
  src="/graphics/creative/landing_pages/popup/ibd_signmeupbtn.gif" 
  alt="Sign Me Up!" 
  onClick="_gaq.push(['_trackEvent', 'Registrations', 'Register', 'Lightbox']);"
  tabindex="8"  />

编辑我已经定义了_gaq。这个问题的真正目标是确保使用带有输入图像的onClick即可。

2 个答案:

答案 0 :(得分:7)

尝试将它连接起来有点不同

<input name="submit" id="submitme" type="image" 
    src="/graphics/creative/landing_pages/popup/ibd_signmeupbtn.gif" 
    alt="Sign Me Up!" 
    onclick="SignMeUp();"
    tabindex="8"  />

并像这样创建你的功能:

<script type="text/javascript">
    function SignMeUp()
    {
        if (!!_gaq) // make sure _gaq is defined
            _gaq.push(['_trackEvent', 'Registrations', 'Register', 'Lightbox']);
    }
</script>

答案 1 :(得分:0)

你不需要定义_gaq变量,但你需要导入谷歌脚本。

这是我的代码

的示例
var _gaq = _gaq || [];
// i'm using asp.net web forms and getting google analytics code from config
_gaq.push(['_setAccount', '<%= ConfigurationManager.AppSettings["google.analytics.code"] %>']);

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();