input中id和name属性的区别value
⽤途1: 作为可与服务器交互数据的HTML元素的服务器端的标⽰,⽐如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。
⽤途2: HTML元素Input type='radio'分组,我们知道radio button控件在同⼀个分组类,check操作是mutex的,同⼀时间只能选中⼀个radio,这个分组就是根据相同的Name属性来实现的。
⽤途3: 建⽴页⾯中的锚点,我们知道<a href="URL">link</a>是获得⼀个页⾯超级链接,如果不⽤href属性,⽽改⽤Name,如:<a
name="PageBottom"></a>,我们就获得了⼀个页⾯锚点。
⽤途4: 作为对象的Identity,如Applet、Object、Embed等元素。⽐如在Applet对象实例中,我们将使⽤其Name来引⽤该对象。
⽤途5: 在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使⽤其属性usemap,使usemap="#name"(被关联的MAP 元素的Name)。
⽤途6: 某些特定元素的属性,如attribute,meta和param。例如为Object定义参数<PARAM NAME = "ap
pletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">。
显然这些⽤途都不是能简单的使⽤ID来代替掉的,所以HTML元素的ID和Name的却别并不是⾝份证号码和姓名这样的区别,它们更本就是不同作⽤的东西。
当然HTML元素的Name属性在页⾯中也可以起那么⼀点ID的作⽤,因为在DHTML对象树中,我们可以使⽤ElementsByName 来获取⼀个包含页⾯中所有指定Name元素的对象数组。Name属性还有⼀个问题,当我们动态创建可包含Name属性的元素时,不能简单的使⽤赋值element.name = "..."来添加其Name,⽽必须在创建Element时,使⽤ateElement('<element name = "myName">
</element>')为元素添加Name属性。这是什么意思啊?看下⾯的例⼦就明⽩了。
<script language="JavaScript">
var input = ateElement('INPUT');
input.id = 'myId';
input.name = 'myName';
alert(input.outerHTML);
</script>
消息框⾥显⽰的结果是:<INPUT id=myId>。
<script language="JavaScript">
var input = ateElement('<INPUT name="myName">');
input.id = 'myId';
alert(input.outerHTML);
</script>
消息框⾥显⽰的结果是:<INPUT id=myId name=myName>。
初始化Name属性的这个设计不是IE的缺陷,因为MSDN⾥说了要这么做的,可是这样设计的原理什么呢?我暂时没有想太明⽩。
这⾥再顺便说⼀下,要是页⾯中有n(n>1)个HTML元素的ID都相同了怎么办?在DHTML对象中怎么引⽤他们呢?如果我们使⽤ASPX页⾯,这样的情况是不容易发⽣的,因为aspnet进程在处理aspx页⾯时根本就不允许有ID⾮唯⼀,这是页⾯会被抛出异常⽽不能被正常的render。要是不是动态页⾯,我们硬要让ID重复那IE怎么搞呢?这个时候我们还是可以继续使⽤ElementById获取对象,只不过我们只能获取ID重复的那些对象中在HTML Render时第⼀个出现的对象。⽽这时重复的ID会在引⽤时⾃动变成⼀个数组,ID重复的元素按Render 的顺序依次存在于数组中。
表单元素(form input textarea select)与框架元素(iframe frame)⽤ name
这些元素都与表单(框架元素作⽤于form的target)提交有关, 在表单的接收页⾯只
接收有name的元素, 赋ID的元素通过表单是接收不到值的, 你⾃⼰可以验证⼀下.
有⼀个例外: A 可以赋 name 作为锚点, 也可以赋ID
当然上述元素也可以赋ID值, 赋ID值的时候引⽤这些元素的⽅法就要变⼀下了.html href属性
赋 name: document.formName.inputName document.frames("frameName")
赋 ID : ElementById("inputID") document.all.frameID
只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID)
body li table tr td th p div span pre dl dt dd font b 等等
=================================================================
value
⽂本<input type="text" value="张3"....> 意思是输⼊框显视的张3
单选<input type="radio" value="睡觉"...> 意思是单选向数据传送的“睡觉”
type="hidden" type="submit" 的value 属性⼀个是传送的值⼀个是显视的⽂本,
name 和id⼀样都是标识,只不过name可以同名,取多个name时就以数组存取,ElementById('id').value
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论