我有一个带有表单的页面,我在 iframe 中加载了一些元素,其中一个是 HTML 页面,其中包含另一个表单。我已经尝试了一些事情,但我似乎找不到同时提交两个表单的好方法。
我在这里看到一个问题,建议摆脱子表单并将其内容动态添加到父表单,但我不愿意使用该方法,因为我需要 iframe(它有时会加载其他内容)和表单(它已使用在另一种情况下)。
我有一个带有表单的页面,我在 iframe 中加载了一些元素,其中一个是 HTML 页面,其中包含另一个表单。我已经尝试了一些事情,但我似乎找不到同时提交两个表单的好方法。
我在这里看到一个问题,建议摆脱子表单并将其内容动态添加到父表单,但我不愿意使用该方法,因为我需要 iframe(它有时会加载其他内容)和表单(它已使用在另一种情况下)。
Target
表格的名称iframe
<iframe name="open"></iframe>
<form target="open"></form>
简单来说:您不能在 HTML 中拆分表单。如果你这样做:
<form>
<input type="text" name="foo" value="bar" />
</form>
<form>
<input type="submit" value="submit" />
</form>
单击该按钮将触发第二种形式,您不会看到foo
.
这是您案件的简化形式。iframe 将您的表单拆分。
有一种方法可以将它们重新缝合在一起,但这并不容易。
覆盖onsubmit
您提交的表单的处理程序(具有按钮的处理程序,如果两者都有按钮:两者都做)。用 取消事件event.preventDefault()
。
收集您要使用 JavaScript 提交的所有值。父窗体中的所有值,以及 iframe 中的所有值。
现在在这里你有两个选择。要提交您的数据,您可以使用 AJAX 或将所有内容复制到隐藏表单并提交。后者的优点是它看起来和感觉就像您只是在提交表单,缺点是您必须复制所有表单元素,这很乏味。