我有一个带有内联 onsubmit 事件的表单(出于测试目的发送一个简单的警报)。从此页面提交信息时,该警报会正常触发。
此表单有一个 iframe,其中有一个按钮,该按钮获取表单父级并提交它。父级上的“回发”正常触发,但警报未触发。 也许我做错了什么,因为警报没有触发或者不可能?
家长表格:
<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 方法(请避免这种情况)
关于javascript - 带有内联 onsubmit 的表单不会从 iframe 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259936/