带有内联提交的表单不会从 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 方法(请避免这种情况)
我有一个带有内联提交事件的表单(发送一个简单的警报用于测试目的)。从此页面提交信息时,该警报正常触发。
此表单有一个 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 方法(请避免这种情况)