比如我在 aspx页面有一个 input控件
<input type="text" id="password" name="password" />
这个id和name有什么用啊?
就像aspx的控件外面取值是通过ID来取的,这个input的ID 和name 哪个才可以取值,或者分别有什么用啊?
<input type="text" id="password" name="password" />
这个id和name有什么用啊?
就像aspx的控件外面取值是通过ID来取的,这个input的ID 和name 哪个才可以取值,或者分别有什么用啊?
id主要用于页面内的Javascript引用
Name用作表单的控件名
aspx页面时不允许有ID非唯一
服务器端根据其Name通过Request.Params取得元素提交的值
Name 是该控件的名称 名字
<input type="text" id="password" name="password" />
这个控件没有runat="server"故他不是服务器控件,你在behind code代码中也点不出来。如果真的要获取他的值,可以使用Request.Form["password"],其中password是标签zhogn 的name
ID 必须唯一!name 可重复! 多个控件同一个NAME
name可以有多个(相当于姓名)
<span>password:</span>
<input type="text" id="password" name="password" />
<asp:TextBox runat="server" ID="TextBox1" />这里有几个控件?四个?三个!第一个和第三个分别是Label、TextBox,中间那个是一个LiteralControl控件,其Text属性内容是"\r\n<span>password:</span>\r\n<input type=\"text\" id=\"password\" name=\"password\" />\r\n"。这个字符串里胡乱写东西,asp.net原样输出到给客户端的html字符串流中,而不会当作什么控件看待。
另一个方面,如果我们站在html的dom element角度,来看看id和name的应用。从document出发,用getElementById(...)只能返回一个element,使用getElementByTagName则返回element数组,这可以看到其应用方面的区别。
ID 必须唯一!name 可重复! 多个控件同一个NAME从document出发,用getElementById(...)只能返回一个element,使用getElementByTagName则返回element数组,这可以看到其应用方面的区别。楼上的LiteralControl 让我学习到了。。
其实楼主只要开启Trace,就列的一清二楚了,下面都标识了有多少个Literal
js 体现在 document.getElementById() 和 document.getElementsByName()利用name 可以为 将多个 radio 设置为一组 实现单选
但是name可以重复并且,在ie7以前的版本中,document.getElementById(id或name)都可以取得dom对象
在ie8中,document.getElementById(name)已经无法取得对象
只有document.getElementById(name)可以取得
另外,在html的dom结构中,是不允许id重复的(重复有时会出现一些莫名其妙的问题)
但是name可以重复并且,在ie7以前的版本中,document.getElementById(id或name)都可以取得dom对象
在ie8中,document.getElementById(name)已经无法取得对象
只有document.getElementById(name)可以取得
引用楼主 yison1128 的回复:比如我在 aspx页面有一个 input控件 <input type="text" id="password" name="password" /> 这个id和name有什么用啊?就像aspx的控件外面取值是通过ID来取的,这个input的ID 和name 哪个才可以取值,或者分别有什么用啊?
NAME=你的名字
明白了吗?
id主要用于页面内的Javascript引用
Name用作表单的控件名
aspx页面时不允许有ID非唯一
服务器端根据其Name通过Request.Params取得元素提交的值