在本文中,我们将详细介绍javascript,getelementbyname和焦点的各个方面,并为您提供关于javascriptgetelementsbyname的相关解答,同时,我们也将为您带来关
在本文中,我们将详细介绍javascript,getelementbyname和焦点的各个方面,并为您提供关于javascript getelementsbyname的相关解答,同时,我们也将为您带来关于document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById_javascript技巧、Document:getElementsByName()使用方法及示例_javascript技巧、getElementByIdx_x js自定义getElementById函数_javascript技巧、IE中getElementsByName()对有些元素无效的解决方案_javascript技巧的有用知识。
本文目录一览:- javascript,getelementbyname和焦点(javascript getelementsbyname)
- document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById_javascript技巧
- Document:getElementsByName()使用方法及示例_javascript技巧
- getElementByIdx_x js自定义getElementById函数_javascript技巧
- IE中getElementsByName()对有些元素无效的解决方案_javascript技巧
javascript,getelementbyname和焦点(javascript getelementsbyname)
function uchecker(uname) { var validUname = uname.search(/^\w+@sabc.com$/); if(validUname != 0) { alert("You have entered an invalid username. \n The username must be a valid @sju.edu email address value " + document.getElementsByName('uname')[0].value); document.getElementsByName('uname')[0].value = null; document.getElementsByName('uname')[0].focus(); /I have also tried document.getElementsByName('uname').focus,document.getElementsByName('uname')[0].value.focus(); }@H_301_10@}
所以看来,在Java脚本运行之前,焦点的字段会更改为下一个字段,我的密码输入框…也有自己的验证功能.在下一个文本框(密码框)成为焦点之前,我有办法让我的javascript代码运行我的用户名字段吗?
解决方法
document.getElementsByName(‘name’)[0].focus()
jQuery的:
$(“#name”)[0].focus()
function valid(){ var nameObj = document.getElementsByName("testing"); for(var i=0; i<nameObj.length; i++){ if(nameObj[i].value == ""){ //$(nameObj)[i].focus(); //Jquery nameObj[i].focus(); //Js alert("Please Fill all the text Boxes"); break; } } }@H_301_10@<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <style> .input-sm{ width:200px } </style> <input name="testing"type="text" id="test_01"/><br> <input name="testing"type="text" id="test_02"/><br> <input name="testing"type="text" id="test_03"/><br> <input name="testing"type="text" id="test_04"/><br> <input type="button"onclick ="valid()" value="Click Me"/>@H_301_10@
document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById_javascript技巧
不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()。
不过要注意的是使用getElementById时对不同的浏览器执行的结果可能是不同的,以下有相关说明
text1:
text2:
我在IE中测试了上面的代码,在第一个文本框中输入1,在第二个文本框中输入2,然后点下面的两个按钮,猜一下结果是什么?
我本意是按钮1返回第一个文本框的值,按钮2返回个文本框的值。
结果是两个按钮都返回了第一个文本框的值。
说明ie执行document.getElementById(elementName)的时候,返回的是第一个name或者id等于elementName的对象,并不是按照ID来查找的。
在fireFox中不存在这样的问题,fireFox执行document.getElementById(elementName)的时候只查找id等于elementName的对象,如果不存在则返回null。
可能IE是考虑的兼容性的问题才这么做的。
以下是我测试所用的代码:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这个时候我在两个text中输入的值分别为:eee, www
IE中测试结果为:eee , eee
再看当我把中的id去除时,也即上面代码使用注释中的内容时
我同样输入eee, www
IE中测试结果为:www ,eee
仔细分析上面两个测试的结果:得出结论是:每执行getElementById一次,会将web页面中的所有表单按顺序遍历一次,同时查找id,name两个值,如果存在所要找的id则不再继续查找,如果没有相应的id与之对应则看name值是否与之对应,如果有相应的name与之对应,则不再继续查找。也就是说:
ie执行document.getElementById(elementName)的时候,返回的是第一个name或者id等于elementName的对象,并不是仅按照ID来查找的。
而同样的两个测试在firefox下第一个结果为eee,www,而第二个结果因为没有找到id="ccc"所以返回null
对于这个结果还可参见
http://www.jb51.net/article/16852.htm
他还对getElementById与getElementByName进行了分析,值得一看。
Document:getElementsByName()使用方法及示例_javascript技巧
定义和用法getElementsByName() 方法可返回带有指定名称的对象的集合。
语法document.getElementsByName(name)
该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。
另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。
实例