阿晨1998
ID必须是唯一的。.在页面DOM元素树中,因此每个控件都是单独访问其id在客户端(浏览器页内)加载在页面中的JavaScript脚本页面上定义的CSS样式在页面上拥有非唯一的ID仍然会呈现您的页面,但是它肯定是无效的。当解析无效的HTML时,浏览器是非常宽容的。但不要因为似乎它起作用了。名称通常是唯一的,但可以共享。.在同一类型的几个控件之间的页面DOM(例如单选按钮),因此当数据被发送到服务器时,只发送一个特定的值。因此,当页面上有几个单选按钮时,只有选定的一个按钮value获取回发到服务器,即使有几个具有相同属性的相关单选按钮控件。name.向服务器发送数据的增编*当数据被发送到服务器(通常是通过HTTPPOST请求)时,所有数据作为名称-值对哪里名字,姓名是name输入HTML控件和价值是它的value由用户输入/选择。对于非Ajax请求,情况总是如此。在ajax请求中,名称-值对能,会,可以独立于页面上的HTML输入控件,因为开发人员可以向服务器发送他们想要的任何东西。很多时候,值也是从输入控件中读取的,但我只是想说,这并不一定是这样的。当名称可以重复时有时,名称在任何形式的输入类型的控件之间共享可能是有益的。但什么时候?您没有说明您的服务器平台可能是什么,但是如果您使用类似ASP.NETMVC之类的工具,您就可以获得自动数据验证(客户端和服务器)以及将发送的数据绑定到强类型的好处。这意味着这些名称必须匹配类型属性名。现在假设您有这样的场景:您有一个具有相同类型项列表的视图。用户通常一次只处理一个项,所以他们只使用一个项输入数据并将其发送到服务器。所以视图的模型(因为它显示了一个列表)是类型的IEnumerable但是您的服务器端只接受一个类型的项。SomeType.那分享名字怎么样?每个项目都在自己的范围内包装。FORM元素中的元素和输入元素具有相同的名称,因此当数据到达服务器(来自任何元素)时,它将正确绑定到控制器操作所期望的字符串类型。在我的创作故事迷你网站。您不会理解这种语言,但是您可以查看这些多个表单和共享名称。算了吧IDS也是重复的(这是违反规则的行为),但这是可以解决的。只是在这个案子里没什么关系。