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

nor*_*ben 6 html html5

什么是目的name的属性input,spandiv标签?应该使用id标签吗?

Mozilla文档中的示例:

<label for="User">Click me</label>
<input type="text" id="User" name="Name" />
Run Code Online (Sandbox Code Playgroud)

Juk*_*ela 11

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

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

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

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

诸如“该name属性已弃用/过时”之类的语句引起了一些混淆。对于某些 HTML 版本的某些元素中的此属性,此类声明是正确的,但input例如在元素中,它仍然是官方的和必要的。


use*_*118 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>
Run Code Online (Sandbox Code Playgroud)

并且您提交表单,服务器localhost将收到如下内容正文:

Name=foo
Run Code Online (Sandbox Code Playgroud)

正如另一篇文章所提到的,它通常由像PHP这样的服务器端语言解析成更易于使用的东西.

id属性标识输入DOM.如果您指定的输入为no name而不是a id并尝试通过a提交,GET或者POST服务器无法正确解析.


Tay*_*bbs 5

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

检查此Mozilla 链接(或https://web.archive.org/web/20200803104412/https://developer.mozilla.org/en-US/docs/Web/API/Element/name)了解更多信息:

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