你可以嵌套HTML表单吗?
可以嵌套HTML表单吗?
在HTML5中,引入了form属性。您可以将form属性添加到表单控件外部的表单控件中,将它们与特定的表单元素(通过id)链接起来。这样,您可以像这样组织您的HTML代码:
form属性受到所有现代浏览器的支持。但是IE不支持此属性,不过IE已经不再是一个浏览器,而是一个兼容性工具,这是由微软自己确认的。是时候不再关心在IE中使事情正常工作了。
这个特性允许作者解决嵌套表单元素的支持问题。
不需要JavaScript,每个提交按钮将触发其各自的表单提交。只需要将主要组件和子组件的样式设置为所需的嵌套样式即可,实际的两个表单标签将是不可见的。
如果您只想触发一个表单或另一个表单,那么可以这样做。但是如果您想要以与JS相同的方式触发“父”表单以及其子表单,而不需要JS,那么该怎么解决呢?
这个问题并不是关于触发两个不同的表单,而是关于将它们嵌套起来。我想知道为什么您想要有两个表单,但仍然希望有一个提交函数?您不能只有一个表单吗?对于这种奇怪的需求,您确实需要使用JavaScript。
是的,你说得对,这不是原问题。我会发表我的问题。谢谢!
HTML不允许嵌套表单的原因是因为表单的架构规定了在HTML中,表单内的操作会触发一个提交事件。这个问题在于需要提交什么内容。你可以在一个表单中有多个字段,或者在一个div中有多个表单,但在一个表单内部嵌套另一个表单并没有意义。如果内容是一起提交的,那就是一个表单;如果内容是分开提交的,那就是独立的不需要外层表单的多个表单。
解决方法是使用HTML 5.1的嵌套表单。这样一来,在一个页面中,可以有多个表单,并且这些表单可以嵌套在另一个表单中。这样可以更容易地编程,例如在上传照片的表单中使用个人资料编辑的表单。
,HTML不允许嵌套表单的原因是为了遵循表单的架构规定,需要明确提交的内容。解决方法是使用HTML 5.1的嵌套表单规范。