bool HTMLParser::formCreateErrorCheck(Token* t, RefPtr<Node>& result)
{
// Only create a new form if we're not already inside one.
// This is consistent with other browsers' behavior.
if (!m_currentFormElement) {
m_currentFormElement = new HTMLFormElement(formTag, m_document);
result = m_currentFormElement;
pCloserCreateErrorCheck(t, result);
}
return false;
}
20条答案
按热度按时间smdnsysy16#
如果您使用angularjs,任何
<form>
标签在你的ng-app
在运行时替换为ngForm
设计为嵌套的指令。在有Angular 的形状中可以嵌套。这意味着当所有子窗体都有效时,外部窗体也有效。但是,浏览器不允许嵌套
<form>
元素,因此Angular 提供了ngForm
行为与相同的指令<form>
但是可以嵌套。这允许您拥有嵌套的表单,这在使用动态生成的表单中使用Angular 验证指令时非常有用ngRepeat
指令((来源)xwmevbvl17#
普通html不允许您这样做。但是使用javascript您可以做到这一点。如果您使用的是javascript/jquery,则可以使用类对表单元素进行分类,然后使用serialize()仅序列化要提交的项目子集的表单元素。
然后在javascript中,您可以这样做来序列化class1元素
对于2班,你可以这样做
整个表格
或者干脆
8wtpewkr18#
可以实现与嵌套表单相同的结果,但不嵌套它们。
html5引入了表单属性。可以将表单属性添加到表单外部的表单控件,以将它们链接到特定的表单元素(按id)。
https://www.impressivewebs.com/html5-form-attribute/
通过这种方式,您可以按如下方式构造html:
所有现代浏览器都支持form属性。尽管ie不支持这一点,但ie不再是浏览器,而是一种兼容性工具,微软自己也证实了这一点:https://www.zdnet.com/article/microsoft-security-chief-ie-is-not-a-browser-so-stop-using-it-as-your-default/. 该是我们停止关心ie中的工作的时候了。
https://caniuse.com/#feat=form-属性
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae表格
从html规范:
此功能允许作者解决嵌套表单元素缺乏支持的问题。
ogq8wdun19#
第二个表单将被忽略,请参见webkit中的代码段,例如:
ql3eal8s20#
我遇到了一个类似的问题,我知道这不是问题的答案,但它可以帮助有这种问题的人:
如果需要将两种或两种以上形式的元素放在一个给定的序列中,html5
<input> form
属性可以是解决方案。从…起http://www.w3schools.com/tags/att_input_form.asp:
表单属性在html5中是新的。
指定哪个
<form>
元素an<input>
元素属于。此属性的值必须是<form>
元素在同一文档中。脚本:
输入表格1\u n1
输入表格2\u n1
输入表格1\u n2
输入表格2\u n2
实施:
在这里您可以找到浏览器的兼容性。