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%;-你可以在答案底部留下链接,作为你材料的来源。。。