Javascript 如何捕获提交按钮之外的表单提交?

Javascript 如何捕获提交按钮之外的表单提交?,javascript,Javascript,有没有一种方法(如果有,如何做)可以通过javascript将js代码放到表单之外来捕获用户的表单提交操作 示例:我的网页上有来自外部提供商的表单。我想抓住它作为谷歌分析的目标,并发送它作为事件。因此,当按下按钮时,我需要将自定义js代码添加到“hack”/sniff 您应该(能够)在表单上钩住一个onsubmit。您可以在页面加载后立即执行此操作;以jquery为例 $("#someForm").on("submit", function() {..... }) ; 如果这还不能回答您的问

有没有一种方法(如果有,如何做)可以通过javascript将js代码放到表单之外来捕获用户的表单提交操作

示例:我的网页上有来自外部提供商的表单。我想抓住它作为谷歌分析的目标,并发送它作为事件。因此,当按下按钮时,我需要将自定义js代码添加到“hack”/sniff

您应该(能够)在表单上钩住一个onsubmit。您可以在页面加载后立即执行此操作;以jquery为例

$("#someForm").on("submit", function()  {..... }) ;
如果这还不能回答您的问题,让我们再详细地听一遍这个问题:)

您应该(能够)在表单上钩住一个onsubmit。您可以在页面加载后立即执行此操作;以jquery为例

$("#someForm").on("submit", function()  {..... }) ;
如果这还没有回答你,那么让我们再次听到这个问题,并提供更多细节:)

当然,也就是说,如果表单实际上是DOM的一部分,而不是在iframe中


当然,也就是说,如果表单实际上是DOM的一部分,而不是在iframe中。

这取决于表单是否在iframe中。如果是的话,就无法访问它。 但是,如果表单是您的页面的DOM的一部分,您可以使用以下命令收听提交事件:

document.querySelector('#form').addEventListener('submit', function() {
    _trackEvent(...)
});

这取决于表单是否在iframe中。如果是的话,就无法访问它。 但是,如果表单是您的页面的DOM的一部分,您可以使用以下命令收听提交事件:

document.querySelector('#form').addEventListener('submit', function() {
    _trackEvent(...)
});

搜索提交的
或“提交事件”。jQuery—不需要使用—通常将其公开为.Seach for
onsubmit
或“submit事件”。不需要使用jQuery,它只是简单地公开了这一点。实际上,我更喜欢dkellner的解决方案。应该考虑到表单已经过验证并且正在提交。实际上,我更喜欢dkellner的解决方案。应该考虑到表单已经过验证并且正在提交。+1因为使用纯javascript。似乎没有人意识到这个问题不包括
jquery
tagI甚至没有注意到……只是不太喜欢jquery;)+1因为它使用纯javascript。似乎没有人意识到这个问题不包括
jquery
tagI甚至没有注意到……只是不太喜欢jquery;)