阻止表单提交的问题

issue with prevent form submit

我目前遇到了一个我无法解决的问题,我有一个通过 Javascript 提交的表格,但我无法阻止它,你能帮帮我吗?我提供了最小的可复制脚本。 提前致谢。

<form name="f" id="f" action="asd" method="post" enctype="multipart/form-data"></form>
<script> 
    document.getElementById('f').addEventListener("submit", function(evt) {
       evt.preventDefault();
    }, true);

    window.addEventListener('load', () => {
      document.getElementById('f').submit()
    }, false )
 </script>

问题是代码执行流程。它在添加事件侦听器之前提交表单。

让您有时间编写代码以添加事件侦听器。我建议您在 document.onready 事件中执行提交。 这是一个简单的例子:https://jsfiddle.net/7453uvt6/7/

我搜索了 HTMLFormElement.submit 的文档,发现使用 form.submit 不会触发 submit 事件。您必须使用 form.requestSubmit 请参阅 https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit and https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit