带有内联提交的表单不会从 iframe 中触发

form with inline onsubmit is not fired from iframe

我有一个带有内联提交事件的表单(发送一个简单的警报用于测试目的)。从此页面提交信息时,该警报正常触发。

此表单有一个 iframe,它有一个采用父表单并提交的按钮。父项上的 "postback" 触发正常,但警报未触发。 也许我做错了什么,因为警报没有触发或不可能?

家长表格:

<form name="form1" method="post" action="mipagina.aspx" 
onsubmit="javascript:alert('hola');" id="form1">

Iframe JS:

formulario = window.parent.document.forms.item(0);
formulario.submit();

这是正常行为。来自 MDN:

The HTMLFormElement.submit() method submits a given .

This method is similar, but not identical to, activating a form's submit . When invoking this method directly, however:

No submit event is raised. In particular, the form's onsubmit event handler is not run. Constraint validation is not triggered.

我可能看到的唯一解决方法是:

  • formulario.submit();
  • 之前添加您的代码
  • 非常糟糕的主意:覆盖 document.getElementById('form1').submit 方法(请避免这种情况)