老师看一下,我的绑定事件有几个出问题了,看不出来问题在哪里
来源:3-10 作业题
var当个程序猿
2019-11-10 19:31:19
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="./style/style.css"> </head> <body> <div class="header"> <div class="logo">慕课高铁客户服务中心 | <span class="server">客户服务</span></div> <div class="nav"> <a href="#">意见反馈 <span class="web">imooc@com</span></a> <a href="#">您好,请<span class="web">登录</span> | 注册 </a> <a href="#" class="angel">我的IMOOC▼</a> <a href="#" class="phone" >手机版</a> </div> </div> <div class="list"> <div> <p>未完成订单</p> <p>已完成订单(改/退)</p> </div> <div> <p>我的保险</p> </div> <div> <p>查看个人信息</p> <p>账户安全</p> </div> <div> <p>常用联系人</p> </div> <div> <p>重点旅客预约</p> <p>遗失物品查找</p> </div> <div> <p>服务查询</p> </div> <div> <p>投诉</p> <p>建议</p> </div> </div> <div class="content"> <div class="location">您现在的位置 <span class="location-1">客运首页 > 注册</span></div> <div class="userInformation"> <div class="tittle">账户信息</div> <div class="userInput"> <p>*用 户 名: <input type="text" placeholder="用户设置成功后不可修改" id="userName"><b>6-30位数字、字母或"_",字母开头</b></p> <p>*登录密码: <input type="password" placeholder="6-20位数字、字母或符号" id="password"><b class="passwordStr"></b><b class="passwordStr"></b><b class="passwordStr"></b></p> <h6></h6> <p>*确认密码: <input type="password" placeholder="再次输入您的登录密码" id="passwordConfirm"><b></b></p> <p>*姓 名: <input type="text" placeholder="请输入姓名" id="name"><b class="regu"><u>姓名填写规则</u></b></p> <p>*证件类型: <select> <option value="card">二代身份证</option> </select></p> <p>*证件号码: <input type="text" placeholder="请输入您的证件号码" id="idCard"><b></b></p> <p>*邮 箱: <input type="text" placeholder="请正确填写邮箱地址" id="email"><b></b></p> <p>*手机号码: <input type="text" placeholder="请输入您的手机号" id="tel"><b>请正确填写手机号码,稍后将会向该号码发送短信</b></p> <p>*旅客类型: <select> <option value="adult">成人</option> <option value="child">儿童</option> </select></p> </div> <div class="nameTip"> <p class="txt">1.确认姓名中生僻字无法输入时,可用生僻字拼音或同音字替代。</p> <p class="txt">2.输入姓名保存后,遇有系统无法正确显示的汉字,可用该汉字的拼音或同音字重新修改<br/>后保存。</p> <p class="txt">3.姓名中有繁体字无法输入时,可用简体替代。</p> <p class="txt">4.姓名较长,汉字与英文字符合计超过30个(1个汉字算2个字符)的,需按姓名中第一<br/>个汉字或英文字符开始按顺序连续输入30个字符(空格字符不输入),其中英文字符输<br/>入时不区别大小写></p> </div> <div class="agre"><input type="checkbox" name="agreement"> 我已阅读并同意遵守<span class="agreement">《中国铁路客户服务中心服务条款》</span></div> <div id="btn">下一步</div> </div> </div> <div class="footer"> <div class="footer_word">关于我们 | 网站证明<br/>Copyright © 2017imooc.com All Rights Reserved | 京ICP备13046642号-2</div> </div> <script type="text/javascript" src="js/script.js"></script> </body> </html>
body{ min-width: 1200px; } *{ padding:0; margin:0; font-family: '微软雅黑'; } /*header部分*/ .header{ width:100%; height:125px; background:#efefef; line-height: 125px; border-bottom:2px solid #2487c9; } .logo{ height:125px; line-height:125px; margin-left:10%; background:url('../img/logo.png') no-repeat; text-indent: 120px; font-size:24px; float:left; cursor:pointer; } .server{ color:#666; font-size:17px; cursor: pointer; } .nav{ height:125px; line-height:125px; float:right; margin-right:150px; } .nav > a{ color:black; margin:0 13px; font-size:16px; text-decoration: none; } .web{ color:#f88703; } .phone{ display:inline-block; background:url('../img/phone.png') no-repeat ; background-size:15%; text-indent: 50px; background-position:18px 50px; } .list{ width: 180px; padding-left: 0px; background-color:white; position: absolute; top:75px; right:250px; text-align: center; border:1px solid #fb7403; z-index:9; display:none; } .list > div:last-child{ border-bottom:none; padding-bottom:0px; } .list > div{ width:80%; border-bottom:1px dashed #666; margin:10px auto; color:#666; font-size:12px; padding-bottom:5px; } .list > div > p{ padding-bottom:10px; } .list > div > p:hover{ cursor: pointer; color:red; } /*主体部分*/ .content{ width:1100px; height:630px; margin:0 auto; } .location,.location-1{ font-size:20px; } .location{ height:46px; line-height:46px; } .location-1{ color:#666; } .userInformation{ height:600px; width:1100px; border:1px solid #f88703; border-radius:5px 5px 0 0; } .tittle{ widows: 100%; height:41px; line-height:43px; background-color:#f88703; border-radius:5px; text-indent:2em; } .userInput{ width:100%; margin:50px auto; position: relative; } .userInput>p{ padding:10px 200px; } .userInput > p > input,select{ display:inline-block; width:200px; } .passwordStr{ display:inline-block; width:50px; height:10px; background:#666; margin:0 5px; } u{ cursor: pointer; } h6{ display:'none'; padding-left:300px; } .nameTip{ width:500px; height:300px; border:1px solid #fb7403; position: absolute; top:420px; right:240px; background:white; display:none; } .txt{ height:20px; width:500px; margin:0px; padding:0; font-size:12px; margin-top:20px; padding-left:20px; color:#666; } .agre{ width:476px; margin:0 auto; margin-top:-40px; } .agreement{ color:blue; } #btn{ width:200px; height:38px; background:#fb7403; line-height:38px; text-align:center; margin:20px auto; cursor:pointer; border-radius:5px; } .regu{ color:#f88703; } b{ color:#f88703; } /*底部样式*/ .footer{ width:100%; height:103px; background:#dcdcdc; margin-top:100px; position: relative; border-top:2px solid #2487c9; } .footer_word{ height:53px; width:600px; position: absolute; top:0; right:0; bottom:0; left:0; margin:auto; text-align:center; font-size:16px ; color:#666; }
//获取元素 function getEle(cls){ return document.querySelector(cls); } function getAllEle(cls){ return document.querySelectorAll(cls); } var b=getAllEle('b'); console.log(b[2]); var ele={ userName: getEle('#userName'), password: getEle('#password'), name:getEle('#name'), card: getEle('#idCard'), email:getEle('#email'), tel:getEle('#tel') }; //我的imooc和name规则事件 var imooc=getEle(".angel"), list=getEle('.list'); imooc.onmouseover=function(){ list.style.display='block'; } imooc.onmouseout=function(){ list.style.display='none'; } list.onmouseover = function () { list.style.display = 'block'; } list.onmouseout = function () { list.style.display = 'none'; } var u=getEle('u'), nameTip=getEle('.nameTip'); u.onmouseover=function(){ nameTip.style.display="block"; } u.onmouseout = function () { nameTip.style.display = "none"; } //正则 var pattern={ userName: /^[a-z]\w{5,29}$/i,//用户名 password:/^\w{6,20}&/,//密码 name:/^[\u4e00-\u9fa5]{2,15}|[a-z]{3,30}&/i,//姓名 card:/^\d{15}$|^\d{18}&|^\d{17}(\d|x|X)$/,//身份证号 email:/^\w+@\w+\.[a-zA-Z]&/,//邮箱 tel:/^\d{11}&/,//手机号码 }; //验证 var test={ userName:function(){ if(!pattern.userName.test(getEle('#userName').value)){ b[0].style.color='red'; return false; }else{ b[0].innerHTML='用户名输入正确'; b[0].style.color = 'green'; return true; } }, password: function () { if (!pattern.password.test(getEle('#password').value)) { b[1].style.backgroundColor = 'red'; getEle('h6').innerHTML='请输入6-20位数字、字母或符号'; getEle('h6').style='display:block'; getEle('h6').style = 'color:red'; return false; } else { b[1].style.backgroundColor='red'; b[2].style.backgroundColor = 'yellow'; b[3].style.backgroundColor = 'green'; return true; } }, passwordConfirm: function () { if (getEle('#passwordConfirm').value=getEle('#password').value) { b[4].innerHTML = '两次密码输入一致'; b[4].style.color = 'green'; return true; } else if (getEle('#passwordConfirm').value==""){ b[4].innerHTML = '密码不能为空'; return falsel; } }, name: function () { if (!pattern.name.test(getEle('#name').value)) { b[5].innerHTML = '姓名只能包括中文和英文,且字符在3-30个之间'; b[5].style.color = 'red'; return false; } else { b[5].innerHTML = '姓名输入正确'; b[5].style.color = 'green'; return true; } }, card: function () { if (!pattern.card.test(getEle('#idCard').value)) { b[6].innerHTML = '请输入18位身份证号码'; b[6].style.color = 'red'; return false; } else { b[6].innerHTML = '号码输入正确'; b[6].style.color = 'green'; return true; } }, email: function () { if (!pattern.email.test(getEle('#email').value)) { b[7].innerHTML = '邮箱格式不正确'; b[7].style.color = 'red'; return false; } else { b[7].innerHTML = '邮箱输入正确'; b[7].style.color = 'green'; return true; } }, tel: function () { if (!pattern.tel.test(getEle('#tel').value)) { b[8].innerHTML = '手机号码格式不正确'; b[8].style.color = 'red'; return false; } else { b[8].innerHTML = '手机号码输入正确'; b[8].style.color = 'green'; return true; } } } //绑定失去焦点事件 for(var i in ele){ ele[i].onblur=test[i]; } //判断提交
2回答
同学你好,这是因为正则不对哦。&应该为$
另外,根据要求,老师把正则给你完善了一下,整体修改一下哦
像密码中,验证正确,提示信息没有设置:
从同学的代码上看,你是一个基础还可以,但是有一点粗心的孩子哦。所以老师建议你,写代码的时候不要着急,欲速则不达。练习的时候要踏实认真一点,这样才会避免很多粗心导致的问题哦。加油!
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
好帮手慕夭夭
2019-11-11
你好同学,老师这边测试,只有确认密码的事件触发不了。这是因为忘记获取确认密码的dom对象了,并且方法中判断有误,如下修改:
获取确认密码输入框的dom元素
另外,作业完成之后,建议上传作业。批复作业的老师会对作业进行详细的指导,并整理成文档发送给同学,能够更好的帮助你完善作业哦。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题