如果<form>标签没有名称属性(表单中的子<input />元素具有名称属性),是否提交表单?

时间:2019-03-18 16:57:20

标签: html html5

如果我未在标记中指定name属性,那么表单中的所有内容是否都已成功提交?

我知道在GET或POST中都不会提交没有名称的

4 个答案:

答案 0 :(得分:1)

是的表单即使没有名字也将提交。查看下面的代码,它将向您解释。

单击“提交”按钮表单将提交,即使它没有名称,操作等。 提交按钮足以提交表单。

  

如果您不提及肉类,则默认提交类型为“获取”肉类

<form action='/cloud' meathod="get">
<input type ="submit" value="submit"/>
</form>

答案 1 :(得分:1)

是的!

仅供参考-HTML5中的ID已弃用表格上的名称属性。参见the MDN note about it

  

表单的名称。在HTML 4中,不建议使用它(应改用id)。它在文档中的表单之间必须唯一,而不仅仅是HTML 5中的空字符串。

编辑

  1. 修复了手机早期文章中的错字,使我似乎不建议使用<input>名称属性。
  2. 添加了来自MDN的报价

答案 2 :(得分:1)

提交<form>

  

“如果标签没有名称属性(表单中的子元素确实具有名称属性?)时是否提交表单?”

  • 是的,所有带有[name]且嵌套在<form> 2 标记内的表单控件 1 的值都被提交,但有一个例外:{ {1}}。如果要发送<output>的值,只需将其复制到<output>
  • 表单不需要<input type='hidden'>属性来为其子标签或自身发送值(因为表单实际上没有value属性)。
  • 如果一组单选按钮的[name]相同,则仅提交所选单选按钮的值。
  • [name]标签在嵌套在表单中时具有默认行为,它将充当<button>。因此,请记住将<input type="submit">添加到type="button"中,它们只是触发点击事件而不是提交事件的按钮。
  • 如果在表单中设置了焦点,并且单击了 enter (对于Mac,则为 return )键,也会触发提交事件。

1 <button>标签的子标签在提交期间发送了<form> /值,被称为successful controls
2 如果表单控件不是表单的子级,则可以通过分配控件[name]

来启用关联

演示

form="FORMID"

  • <form>:发送到实时测试服务器
  • [action]:显示服务器响应的iframe的[target]
  • [name]:每当用户在表单上留下数据时,[onchange]就会显示所选单选按钮的值,而<output>也会将该值分配给隐藏的输入。

<output>
#ui {
  width: 300px;
}

#out,
button,
[type=submit] {
  float: right;
}

答案 3 :(得分:0)

是的,您给的表单方法如下:

<form method="post OR get">
</form>

并提供元素名称,因为元素名称用于发布该元素的值。