Html 表格里面的表格,可以吗?

Html 表格里面的表格,可以吗?,html,forms,Html,Forms,我们是否可以在另一个表单中包含一个表单?。有什么问题吗。有。这是错误的。它不会起作用,因为它是错误的。大多数浏览器只能看到一个表单 否。HTML明确禁止嵌套表单 从: 内容模型: 流动内容,但不包含表单元素子体 从: (请注意-(表单)部分)。尽管在一个HTML页面中可以有多个元素,但不能嵌套它们。必须嵌套表单是无效的XHTML。但是,您可以使用多个提交按钮并使用服务器端脚本来运行不同的代码,具体取决于用户单击的按钮。不,我们不能将表单嵌套在类似这样的另一个表单中 <form name=

我们是否可以在另一个表单中包含一个表单?。有什么问题吗。

有。这是错误的。它不会起作用,因为它是错误的。大多数浏览器只能看到一个表单


否。HTML明确禁止嵌套表单

从:

内容模型: 流动内容,但不包含表单元素子体

从:


(请注意-(表单)部分)。

尽管在一个HTML页面中可以有多个
元素,但不能嵌套它们。

必须嵌套表单是无效的XHTML。但是,您可以使用多个提交按钮并使用服务器端脚本来运行不同的代码,具体取决于用户单击的按钮。

不,我们不能将表单嵌套在类似这样的另一个表单中

<form name='form1'>
      <form name='form2'>
            //some code here
      </form>
</form>

//这里有一些代码

它在某些情况下可以工作,但不建议用于通用平台。您可以在一个表单中使用大量的提交按钮,但不能适当地管理嵌套表单。

如果您有一个主表单,并且被迫拥有一个“带表单的表单”,您可以这样做。。。在我的例子中,我在globalHeader中有一个链接,我想在单击它时执行一个帖子:

带有链接按钮提交的表单帖子示例:

而不是一种形式。。。将您的输入包装在div中:

 <div id="gap_form"><input type="hidden" name="PostVar"/><a id="myLink" href="javascript:Form2.submit()">A Link</a></div>

js文件:

$(document).ready(function () {
(function () {
    $('#gap_form').wrap('<form id="Form2" action="http://sitetopostto.com/postpage" method="post" target="_blank"></form>');
})();});
$(文档).ready(函数(){
(功能(){
$('gap_form')。换行('';
})();});

这将把div“gap_form”中的所有内容包装在一个表单中,链接将提交该表单。我现在在一个页面上有一个确切的例子。。。(在我的示例中……您可以通过重定向到新页面并在该页面上提交表单来完成相同的任务……但我更喜欢这样)

嵌套表单不受支持,也不是w3c标准的一部分(正如许多人所说的)

然而,HTML5增加了对输入的支持,这些输入不必是任何形式的后代,但可以通过使用“form”属性以多种形式提交。这并不完全允许嵌套表单,但通过使用此方法,可以模拟嵌套表单

“form”属性的值必须是表单的id,或者如果有多个表单,则使用空格分隔表单id


您可以阅读更多

另一个解决方法是启动一个包含自己表单的模式窗口

表单嵌套可以通过新的HTML5输入元素的表单属性来实现。虽然我们不在结构上嵌套表单,但输入是按其自身的形式进行评估的。在我的测试中,除IE(IE11)外,有3种主要浏览器支持此功能。表单嵌套限制是HTML UI设计的一大障碍

这是一个示例代码,当您单击“保存”按钮时,您会看到“2 3成功”(原始):



HTML3规范不是一个很好的链接,它没有达到推荐状态就死了。为什么要链接到旧规范?HTML3.0?有更新的规范…这是唯一一个在描述的开头指定了这个禁令的规范(也是第一个谷歌搜索结果之一)。在其他情况下,我只看到关于HTML4和XHTML的论坛讨论导致了相同的结果。一篇论坛帖子甚至说HTML4允许这样做,尽管我从未听说过,也找不到任何例子或证据。@Alexander-“这是唯一一篇在描述开始时指定了这种禁止的文章”-呃?在我的回答中,我和另外两个人联系在一起。这有什么意义?正确的答案是完全没有任何理由的答案。我开始怀疑参与这项活动的有效性。好吧,投反对票并解释。(1) 这并不能解决“形式中的形式”的固有问题。是的,你把浏览器变成了嵌套表单。恭喜。但是现在你的文档是无效的,浏览器有许可证可以做任何他妈的喜欢的事情。我保证某个地方的浏览器会出错。(2) 如果出于任何原因JS被禁用,脚本不想加载,或者其他任何原因,这一切都将化为乌有。也许你不在乎,但依赖JS来修复混乱而不是首先创建有效的HTML是糟糕的设计。尽管OP没有要求,但这是一个在一个表单中包含多个按钮的正确解决方案。这当然是我们一直在等待的!为我感到羞耻。。。总是落后于其他人。。。这使得这个伟大的想法对公共网站毫无用处…三大浏览器支持这个。。。剩下的就是剩下的;)很高兴知道这一点。在过去,我用自定义数据属性和javascript实现了它,当时我可以只包含一个html5垫片库。-1这根本不是表单嵌套。这两种形式不是嵌套的,它们都不在另一种形式内,这就是问题所在。表单嵌套对于f.ex很有用。当您编写不同种类的组件(使用任何语言)时,包括一些可以接收用户输入的组件,因此该组件生成的HTML包含一个
标记,并且您的组件可以包含其他组件。然后,您将在另一个
标记中插入一个
标记,这在HTML5中是不允许的。通过这种方式,按ENTER键不再需要提交表单。你确认了吗?你有没有一个例子?+1来说明一个输入可以应用于多个表单。一个其他答案都忽略的强大功能。不是工作,我的朋友。
<form id="saveForm" action="/post/dispatch/save" method="post"></form>
<form id="deleteForm" action="/post/dispatch/delete" method="post"></form>

<div id="toolbar">
    <input type="text" name="foo" form="saveForm" />
    <input type="hidden" value="some_id" form="deleteForm" />
    <input type="text" name="foo2" id="foo2" form="saveForm" value="success" />

    <input type="submit" name="save" value="Save" form="saveForm" onclick="alert(document.getElementById('deleteForm').elements.length + ' ' + document.getElementById('saveForm').elements.length + ' ' + document.getElementById('saveForm').elements['foo2'].value);return false;" />
    <input type="submit" name="delete" value="Delete" form="deleteForm" />
    <a href="/home/index">Cancel</a>
</div>