Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌标签管理器导致页面表单提交两次_Javascript_Html_Asp.net Mvc_Forms_Google Tag Manager - Fatal编程技术网

Javascript 谷歌标签管理器导致页面表单提交两次

Javascript 谷歌标签管理器导致页面表单提交两次,javascript,html,asp.net-mvc,forms,google-tag-manager,Javascript,Html,Asp.net Mvc,Forms,Google Tag Manager,我有一个网页-我想这是相当标准的 基本上是这样的: <form action="/mywebsite/mypage" method="post" novalidate="novalidate"> <div class="blah"> <input class="form-control" id="name" maxlength="80" name="name" tabindex="1" type="text" va

我有一个网页-我想这是相当标准的

基本上是这样的:

<form action="/mywebsite/mypage" method="post" novalidate="novalidate">
  <div class="blah">                    
    <input class="form-control" id="name" maxlength="80" name="name" tabindex="1" type="text" value="">
    <!-- tonnes more inputs and labels and stuff -->
    <input type="submit" class="btn" value="Submit" tabindex="2">   
  </div>
</form>
但当按下提交按钮时,表单会根据浏览器提交两次

Firefox-工作正常-提交一次一致 Chrome-间歇性,大部分有效,有时提交两次。 IE Edge-100%的时间提交两次

设法缩小到谷歌标签管理器。当这是删除它的工作良好

所以我在我的_布局页面母版页面,模板页面中有这个脚本,不管你怎么称呼它

<!-- Google Tag Manager -->
<noscript>
    <iframe src="//www.googletagmanager.com/ns.html?id=GTM-ABCDEF1"
            height="0" width="0" style="display: none; visibility: hidden">
    </iframe>
</noscript>
<script>
    (function(w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start':
                new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            '//www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-ABCDEF1');
</script>

<!-- End Google Tag Manager -->
所以我试图了解到底发生了什么-为什么会导致它-以及如何阻止它。 我可以解决这个问题,但我不想。我宁愿把它修好

注意:是的,由于某些原因,url开始//而不是https://-但是更改它没有什么区别

有什么想法吗


我对google analytics有一个非常基本的了解,但对google tag manager没有任何了解。

GTM中的一个bug,请参阅以获取更多信息。所选答案并非正确答案。

虽然您的答案可能100%正确,但如果该链接被移动、更改、合并到另一个链接或主站点消失,则该答案也可能100%无效…:-因此,请您提供答案,并将链接中的相关部分复制到您的答案中,从而保证您的答案在本网站的整个生命周期内100%;-你可以在答案底部留下链接,作为你材料的来源。。。