收听在同一页面上使用两个表单提交事件

Listen to submit event with two form on same page

本文关键字:两个 事件 表单提交 一页      更新时间:2023-09-26

我正在创建一个生成表单的 Javascript 小部件,我们称之为#widget-form像这样创建的:

<form autocomplete="off" id="widget-form">
    <!-- Some inputs -->
</form>

我正在收听这样的提交事件:

document.getElementById('widget-form').addEventListener('submit', function(event) {
    debugger;
}

一切正常。

但是,当小部件出现在我的 Rails 应用程序网页上,其中包含另一个表单(由 simple_form 生成),Javascript 无法捕获我的#widget-form提交事件(我的 Chrome 控制台不会在debugger;上断点)

PS:当我提交#widget-form表单时,页面会重新加载。

即使同一网页上有其他表单,有没有办法捕获此事件?

好的发现了问题,我的错,两个表单具有相同的 ID,这就是为什么我的事件没有被这个函数捕获的原因。