求指点js表单验证的一个小问题!

<html><head><title>NewDocument</title><styletype="text/css">input.invalid{background-... <html>
<head>
<title> New Document </title>
<style type="text/css">
input.invalid{background-color:yellow;}
</style>
</head>
<script type="text/javascript">
window.onload=initForm;
function initForm(){
var allTags=document.getElementsByTagName('*');
for (var i=0;i<allTags.length ;i++ ){
if (allTags[i].className.indexOf('reqd')>-1){
allTags[i].onblur=fieldCheck;
}
}
}
function fieldCheck(){
if (this.value==''){
this.className+=' invalid';
this.focus();
}
else{
this.className='reqd';
}
}
</script>
<body><form><h3>
Email Address:<input type="text" class="reqd"><br>
Name(optional):<input type="text" ><br>
Address:<input type="text" >
.............
</h3>
</form>
</body>
</html>
如上代码所示只能验证第一栏的字段 如果多添加设置几个input并添加类为'reqd' 脚本就会卡
住了,请问怎么修改一下呢?
展开
 我来答
woaihouzhuang
2014-02-08 · TA获得超过259个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:227万
展开全部
脚本卡住了?怎么理解?我刚试了一下,不卡啊
追问
奥 这个没事 你把下面再加几个input 并设置class为reqd就不行了 我想是每个text的onblur事件发生冲突了 楼下两位连试都没试吧
追答
每个input都设置class为reqd的话,页面加载完成之后会有多个input触发onblur事件,这个是会冲突的
yugi111
2014-02-07 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
天呐,你 var allTags=document.getElementsByTagName('*');
写星号呀???这不是遍历所有的么,能不卡么,你针对一下标签嘛,这么效率的问题,应该想得到呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优源小程序
2014-02-07 · 来吧,一起专注小程序开发
优源小程序
采纳数:34 获赞数:45

向TA提问 私信TA
展开全部
var allTags=document.getElementsByTagName('*');
把*换成input
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式