<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function word(){ alert(document.getElementsByName("in").value); } </script> </head> <body> <input name="in" type="button" onclick="word()" value="111" /> <input name="in" type="button" onclick="word()" value="222" /> <input name="in" type="button" onclick="word()" value="333" /> </body> </html>
随意点击其中一个按钮,然后获取它的value值,如何才能做到啊?
先谈谈你那个代码为什么不行吧:
var arr=document.getElementsByName("in");
获取的是数组,共有
arr[0],arr[1],arr[2]
除非你明确指出点击事件具体指代哪一个数组项,这样才会有value属性,即
arr[0].value;
才会成立。
我贴一下我给出的解决办法代码吧:
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function word(x){ // var arr=document.getElementsByName("in"); // alert(arr[0].value); alert(x.value); } </script> </head> <body> <input name="in" type="button" onclick="word(this)" value="111" /> <input name="in" type="button" onclick="word(this)" value="222" /> <input name="in" type="button" onclick="word(this)" value="333" /> </body> </html>
这个方法虽然解决了你所说的点击哪一个就弹出那一个的值,
但是并没有用到document.getElementsByName()
主要是我没想到用document.getElementsByName()怎么可以让浏览器定位到我所点击的标签。
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function word(x){ var arr=document.getElementsByName("in"); alert(arr[x].value); // alert(x.value); } </script> </head> <body> <input name="in" type="button" onclick="word(0)" value="111" /> <input name="in" type="button" onclick="word(1)" value="222" /> <input name="in" type="button" onclick="word(2)" value="333" /> </body> </html>