首頁 > web前端 > html教學 > HTML里 关于 name 和 id_html/css_WEB-ITnose

HTML里 关于 name 和 id_html/css_WEB-ITnose

WBOY
發布: 2016-06-21 09:39:27
原創
1085 人瀏覽過

<script type="text/javascript">function fun(){	document.getElementsByName("haha").reset();}</script></script><body><form name="haha"><!--这里要实现姓名和座号重置,要用id ,用name没有反应-->    姓名:<input type="text" /><br />	座号:<input type="text" /><br />	<input type="button" value="重置" onClick="fun()"><br /></form> </body>
登入後複製

 </head><script type="text/javascript">function check(){	document.getElementsByName("myCheck").checked=true}function uncheck(){	document.getElementsByName("myCheck").checked=false}</script></head><body><form><input type="checkbox" name="myCheck" /><!--这里也不能用name...用了id才有反应--><input type="button" onclick="check()" value="选定复选框" /><input type="button" onclick="uncheck()" value="取消选定复选框" /></form> </body>
登入後複製


<head><script type="text/javascript">function check(browser)  {  document.getElementById("answer").value=browser  }</script></head><body><p>您喜欢哪款浏览器?</p><form><input type="radio" name="browser" onclick="check(this.value)" value="Internet Explorer">Internet Explorer<br /><input type="radio" name="browser" onclick="check(this.value)" value="Firefox">Firefox<br /><input type="radio" name="browser" onclick="check(this.value)" value="Netscape">Netscape<br /><input type="radio" name="browser" onclick="check(this.value)" value="Opera">Opera<br /><br /><!--写到这里纳闷了特久,为什么例题的name就可以单选,我改成Id后就变成多选 并且勾了还不能取消-->您喜欢的浏览器是:<input type="text" id="answer" size="20"></form></body>
登入後複製


初学,也上网了查了一下NAM和ID两个的用法区别,但看不大懂,请前辈指教一下 究竟什么时候要用name 什么时候要用id。像上面三种情况究竟两者是怎么回事?


回复讨论(解决方案)

name:
1、表单提交的时候数据通过name来获取
2、做锚点
3、Object等可以通过name来引用

id
1、唯一标示符, 通常用来得到该元素,比如document.getElementById

当然得到元素也可以用name,document.getElementsByTagName,这样得到的是一个数组,需要再通过其它的标示符来确定元素,比如class、title,总之id是唯一的。

对了,你例子里面的raido里面也是通过name来确定是分组,name相同的raido只会有一个值

用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

才发现我把楼主的第二个代码看漏了,我说的第二个是指楼主的第三个.
第二个也是和第一个同样的错误:
function check(){     document.getElementsByName("myCheck").checked=true } 
function uncheck(){     document.getElementsByName("myCheck").checked=false } 
应该改成:
function check(){     document.getElementsByName("myCheck")[0].checked=true } 
function uncheck(){     document.getElementsByName("myCheck")[0].checked=false } 

用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

用firebug调试,断了一下看document.getElementsByName("haha")发现里面有好多东西》。。不知道应该找哪个= =

引用 4 楼 p2227 的回复:用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

用firebug调试,断了一下看document.getElementsByName("haha")发现里面有好多东西》。。不知道应该找哪个= = 你要找哪个就把哪个的值打印出来

引用 4 楼 p2227 的回复:用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

用firebug调试,断了一下看document.getElementsByName("haha")发现里面有好多东西》。。不知道应该找哪个= = 是这样子的了~~你先找一个Id的,再对比一个Name的,一般说来Name的要选取一下数组,即
document.getElementsByName("haha") [0]一下,每个dom节点下面都很多属性的,特别还有些浏览器自定义的属性,有用到的那几个先熟悉,渐渐就会用起来了

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板