input
,span
或div
标签上的name
属性的用途是什么?是否应该使用id
标签?从Mozilla's documentationhtml name属性的用途是什么?
实施例:
<label for="User">Click me</label>
<input type="text" id="User" name="Name" />
input
,span
或div
标签上的name
属性的用途是什么?是否应该使用id
标签?从Mozilla's documentationhtml name属性的用途是什么?
实施例:
<label for="User">Click me</label>
<input type="text" id="User" name="Name" />
的name
属性识别输入value
如果它通过表单的传统GET
或POST
发送到服务器。
具体到例如,如果您有:
<form action="http://localhost" method="POST">
<label for="User">Click me</label>
<input type="text" id="User" name="Name" value="foo" />
<input type="submit" value="submit" />
</form>
,并提交表单,服务器localhost
将收到内容主体,如:
Name=foo
这是另一篇文章中提到,通常是通过像PHP这样的服务器端语言进行分析,使其更易于使用。
id
属性标识输入到DOM
。如果您指定的输入不是name
而是id
,并尝试通过GET
或POST
提交,则服务器将不会正确解析它。
如果定义一个链路(A-元),并且它定义了一个名称,可以使用它作为一个锚点。 请参阅:http://www.w3schools.com/tags/att_a_name.asp
或者更一般地说:https://developer.mozilla.org/en-US/docs/Web/API/Element.name
该页面说名称属性对HTML5无效 – northben 2014-09-26 14:29:16
name属性是当你使用的是其他语言如PHP读取和写入数据到数据库或其他文件。要引用上面的文本字段,可以引用其名称为“Name”,并将“Name”文本字段中的值写入数据库。
希望这有助于澄清事情..
这是为了避免使用jQuery按类或ID选择字段吗? – northben 2014-09-26 14:28:39
它有些不同 - jQuery使用类名和id名。我知道PHP使用html标签的名称来引用它.. – heinkasner 2014-09-26 14:50:31
名称应像<input>
表单域使用,它不应该在<span>
或<div>
使用。 名称在锚标签上已过时,您应该使用id代替。
检查这个mozilla link更多:
名称获取或设置一个DOM对象的名称属性;它仅适用于以下元素:
<a>
,<applet>
,<button>
,<form>
,<frame>
,,<img>
,<input>
,<map>
,<meta>
,<object>
,<param>
,<select>
和<textarea>
名称标签的用途是什么?如果我没有,它会对我的表格有什么不同? – northben 2014-09-26 14:27:42
如果删除此属性,则该输入的值将不会用于提交给服务器:http://www.w3.org/TR/html5/forms.html#constructing-form-data-set – 2014-09-26 15:23:02
在input
元素中,name
属性定义了控件的名称。只有具有名称的控件才能“成功”,即可以贡献给发送到服务器的表单数据集。因此,为了使提交给服务器端处理的控件的价值不可或缺。id
属性与此无关;它有自己的用途,例如帮助将标签与控件相关联,如示例中所示。
因此,如果您不需要提交控制值,则不需要name
属性。例如,如果您有像这样的单个提交按钮,则不需要它;但如果你有几个提交按钮,并且你需要识别,服务器端,哪一个被使用,你需要它。如果表单数据未发送到服务器端处理,但仅在客户端处理中处理,则不使用name
属性,因为您可以用其他方式访问这些值。
在span
和div
元素中,name
属性在所有HTML版本中都是无效的。如果使用它,它将被简单地忽略,除非它在DOM中的attributes
属性中存储(如同任何无效属性),并且可以在客户端脚本中访问。
考虑到问题标题中的一般问题,name
属性在某些元素中被允许和识别,在其他元素中不允许和忽略,并且在允许的情况下,其含义在元素的定义中定义。这些定义之间没有太多相同之处。
一些混淆因“name
属性已被弃用/过时”等语句引起。这些语句在某些HTML版本的某些元素中对此属性是正确的,但例如在input
元素中,它仍然是正式的和必需的。
名称用于表单 – Hacketo 2014-09-26 14:13:29
https://developer.mozilla.org/en-US/docs/Web/API/Element.name – loveNoHate 2014-09-26 14:14:40
“name获取或设置DOM对象的name属性;它仅适用于以下元素:,