Google 跟踪代码管理器导致页面表单提交两次

Google Tag Manager causing page form to submit twice

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

基本上是这样的:

<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 标签管理器。删除后它可以正常工作。

所以我的 _layout 页面(母版页、模板页,无论您怎么称呼它)中都有这个脚本

<!-- 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 分析有非常基本的了解 - 但对 google 标签管理器的了解为零。

GTM 中的错误,请参阅 https://productforums.google.com/forum/?nomobile=true#!topic/tag-manager/QVb2sNyvp5k;context-place=forum/tag-manager 了解更多信息。所选答案并非正确答案。