Javascript addEventListener不工作| |重新排列函数触发序列

Javascript addEventListener不工作| |重新排列函数触发序列,javascript,html,Javascript,Html,我将HTML表单放在另一个系统中,无法在提交事件期间运行自己的函数 我不能使用formonsubmit='foo',因为系统有一个脚本,可以自动填充放置在其中的任何表单的onSubmit(覆盖预先放置的任何内容) 此外,该系统在提交事件中执行自己的验证 因此,我试图在表单提交时使用EventListener来运行我的函数和系统函数,但是它不起作用。console.log甚至没有显示 我看到系统功能有: document.forms[0].submit(); 因此,它必须在我的函数之前触发,导

我将HTML表单放在另一个系统中,无法在提交事件期间运行自己的函数

我不能使用formonsubmit='foo',因为系统有一个脚本,可以自动填充放置在其中的任何表单的onSubmit(覆盖预先放置的任何内容)

此外,该系统在提交事件中执行自己的验证

因此,我试图在表单提交时使用EventListener来运行我的函数和系统函数,但是它不起作用。console.log甚至没有显示

我看到系统功能有:

document.forms[0].submit(); 
因此,它必须在我的函数之前触发,导致我的函数永远不会运行,因为系统函数要么提交,要么取消它显示的提交

这是我的eventListener代码

var formRef = document.forms.myForm;
myForm.addEventListener('submit', function(evt) {
  evt.preventDefault();
  console.log('event fired');
  //checkBlanks function loops through the form looking for blanks,
  //if a field is blank it changes it to red and then fires the system's
  //confirmation dialogue. Else it fires the system's confirmation dialogue.
  checkBlanks();
});
在重要的情况下,“我的表单”位于系统表单的内部,“提交”按钮位于窗口的系统部分。我试图添加VentListener按钮,但它表示无法获取未定义引用的属性。

您可以尝试在capturingphase中注册您的事件。希望系统的侦听器处于冒泡阶段myForm.addEventListener('submit',function(evt){………},true);谢谢你,我读了这篇文章,很高兴知道。不幸的是,在这种情况下它没有帮助。您不能在HTML中嵌套。@karthigh我认为由于“嵌套”的性质,myForm是我创建的表单的名称,我需要访问按钮实际所在的表单。@TheAngryAuditor。不能有嵌套表单。我的印象是有一个iframe或类似的东西。现在,在看到这幅画之后,它变得清晰了。这行不通。