javascript - 带有内联 onsubmit 的表单不会从 iframe 中触发

标签 javascript submit onsubmit

我有一个带有内联 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/

相关文章:

javascript - Mobile Safari - 通过 focus() 获得乐趣

php - 隐藏/返回发送按钮,单击时具有淡入淡出效果

jQuery .append() 表单提交上的像素

javascript - 提交时未运行表单验证

javascript - 双字节字 rune 件名显示不正确

javascript - 用 Mongoose 插入子数组

javascript - Handlebars 在模板中使用@

html - 一个表单中的两个提交按钮

javascript - 用于表单的 onsubmit 函数即将出现未定义

JavaScript,提交时