html名称属性的目的是什么?

时间:2014-09-26 14:12:29

标签: html html5

nameinputspan标记的div属性的用途是什么?是否应该使用id代码?

来自Mozilla's documentation的示例:

<label for="User">Click me</label>
<input type="text" id="User" name="Name" />

5 个答案:

答案 0 :(得分:6)

name属性标识输入value,如果它通过表单的传统GETPOST发送到服务器。

具体到示例,如果您有:

<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并尝试通过GETPOST提交,则服务器将无法正确解析该输入。

答案 1 :(得分:3)

名称应该用在<input>等表单字段上,不应在<span><div>上使用。 名称在锚标记上已过时,您应该使用id。

查看此mozilla link了解更多信息:

  

name获取或设置DOM对象的name属性;它仅适用于以下元素:<a><applet><button><form><frame><iframe><img><input><map><meta><object><param><select><textarea>

答案 2 :(得分:2)

input元素中,name属性定义控件的名称。只有具有名称的控件才能“成功”,即可能有助于发送到服务器的表单数据集。因此,为了使控制的值提交给服务器端处理,它是必不可少的。 id属性与此无关;它有自己的用途,例如帮助将标签与控件相关联,如示例所示。

因此,如果您不需要提交控件值,则不需要name属性。例如,如果您有一个像<input type=submit value=Send>这样的提交按钮,则不需要它;但如果你有几个提交按钮,你需要识别,服务器端,使用哪一个,你需要它。如果表单数据未发送到服务器端处理但仅在客户端处理中处理,则不使用name属性,因为您可以使用其他方法访问值。

spandiv元素中,name属性在所有HTML版本中均无效。如果使用它,它将被简单地忽略,除非它在DOM中的attributes属性中存储(如任何无效属性),并且可以在客户端脚本中访问。

考虑问题标题中的一般问题,name属性在某些元素中被允许和识别,在其他元素中被禁止和忽略,并且在允许时,其含义在元素的定义中定义。这些定义之间没有太多共同之处。

name属性已被弃用/过时”这样的陈述引起了一些混淆。在某些HTML版本的某些元素中,此类语句对于此属性是正确的,但在input元素中,它仍然是官方且必要的。

答案 3 :(得分:1)

如果定义链接(a-Element)并为其定义名称,则可以将其用作锚点。 请参阅:http://www.w3schools.com/tags/att_a_name.asp

或更一般地说:https://developer.mozilla.org/en-US/docs/Web/API/Element.name

答案 4 :(得分:0)

name属性适用于使用PHP等其他语言读写数据或其他文件的数据。要引用上面的文本字段,您可以引用其名称“Name”,并将“Name”文本字段中的值写入数据库。

希望这有助于澄清事情..