你可以嵌套HTML表单吗?

9 浏览
0 Comments

你可以嵌套HTML表单吗?

可以像这样嵌套HTML表单吗?\n

\n以使两个表单都能正常工作?我的朋友在这方面遇到了问题,subForm 的一部分工作正常,而另一部分则不工作。

0
0 Comments

可以嵌套HTML表单吗?

在HTML5中,引入了form属性。您可以将form属性添加到表单控件外部的表单控件中,将它们与特定的表单元素(通过id)链接起来。这样,您可以像这样组织您的HTML代码:

form属性受到所有现代浏览器的支持。但是IE不支持此属性,不过IE已经不再是一个浏览器,而是一个兼容性工具,这是由微软自己确认的。是时候不再关心在IE中使事情正常工作了。

这个特性允许作者解决嵌套表单元素的支持问题。

不需要JavaScript,每个提交按钮将触发其各自的表单提交。只需要将主要组件和子组件的样式设置为所需的嵌套样式即可,实际的两个表单标签将是不可见的。

如果您只想触发一个表单或另一个表单,那么可以这样做。但是如果您想要以与JS相同的方式触发“父”表单以及其子表单,而不需要JS,那么该怎么解决呢?

这个问题并不是关于触发两个不同的表单,而是关于将它们嵌套起来。我想知道为什么您想要有两个表单,但仍然希望有一个提交函数?您不能只有一个表单吗?对于这种奇怪的需求,您确实需要使用JavaScript。

是的,你说得对,这不是原问题。我会发表我的问题。谢谢!

0
0 Comments

可以使用HTML5中的form属性来解决嵌套表单的问题。根据来自w3schools的内容,form属性是HTML5中的新属性,它用于指定一个元素属于哪个

元素。这个属性的值必须是同一个文档中一个

元素的id属性。

在实际场景中,我们有两个

元素,分别是Form1和Form2。我们有四个元素,分别是input_Form1_n1、input_Form2_n1、input_Form1_n2和input_Form2_n2。

我们可以通过给每个元素添加form属性来将其与对应的

元素关联起来。例如,给input_Form1_n1元素添加form属性,值为"Form1",就表示该元素属于Form1表单。

具体的实现代码如下:


通过以上代码,我们可以将不同的元素分别与对应的

元素关联起来。这样,当点击提交按钮时,每个元素都将被包含在其所属的

元素的请求中。

需要注意的是,form属性在不同浏览器中的兼容性不同。在caniuse.com网站上可以查看各个浏览器对form属性的支持情况。除了IE浏览器(包括最新版本的IE11)之外,其他浏览器(如Chrome、Firefox、Opera、Edge、Safari、Android浏览器等)都支持form属性。

有人会问,这里有什么不同?我只看到元素在

之外。这仍然需要使用JS来同时提交两个表单,不是吗?其实,不需要使用JS来提交表单。只要确保元素与其所属的

元素关联,并且

元素指定了action属性,那么与该

元素关联的元素将会被包含在请求中。

所以,通过使用HTML5的form属性,我们可以解决嵌套表单的问题。不同的元素可以与对应的

元素关联起来,当点击提交按钮时,每个元素都将被包含在其所属的

元素的请求中。这种解决方法在大多数现代浏览器中都可以使用,只有IE浏览器不支持。

0
0 Comments

HTML不允许嵌套表单的原因是因为表单的架构规定了在HTML中,表单内的操作会触发一个提交事件。这个问题在于需要提交什么内容。你可以在一个表单中有多个字段,或者在一个div中有多个表单,但在一个表单内部嵌套另一个表单并没有意义。如果内容是一起提交的,那就是一个表单;如果内容是分开提交的,那就是独立的不需要外层表单的多个表单。

解决方法是使用HTML 5.1的嵌套表单。这样一来,在一个页面中,可以有多个表单,并且这些表单可以嵌套在另一个表单中。这样可以更容易地编程,例如在上传照片的表单中使用个人资料编辑的表单。

,HTML不允许嵌套表单的原因是为了遵循表单的架构规定,需要明确提交的内容。解决方法是使用HTML 5.1的嵌套表单规范。

0