为了账号安全,请及时绑定邮箱和手机立即绑定

这是我写的一个注册页面 带JS验证的 出了点问题 详细在下面

这是我写的一个注册页面 带JS验证的 出了点问题 详细在下面

frank_mojito 2017-05-19 19:06:43
这是我写的一个注册页面 带JS验证的  问题就是不管怎样 总是能提交 为什么啊?AJAX那里用来验证邮箱是否重复 重复则把输入框置空,这样点击提交还是返回FALSE,但是不管怎样就是能提交,我什么都不填也能跳,为什么啊??用了点BOOTSTRAP的框架,但是这只是样式 应该没影响啊?<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'register.jsp' starting page</title>     <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="bootstrap/jquery-3.2.1.min.js" ></script> <script type="text/javascript" src="bootstrap/bootstrap.min.js" ></script> <link rel="stylesheet" href="bootstrap/bootstrap.min.css" /> <script type="text/javascript"> function checkEmail(){      var userEmail =  document.getElementById("uEmail").value;      var ets = document.getElementById("emailts");      if(!isEmail(userEmail)){          ets.innerHTML ="邮箱格式不正确!";          ets.style.color="red";          return false;      }else{     ets.innerHTML = "";    }     var j = 0;    $.post("/mydemo/servlet/UserServlet",{"userEmail":userEmail,"action":"registerV"},    function(data){     if(data == "emailExist"){       ets.innerHTML = userEmail+"已经被注册";       ets.style.color="red";       document.getElementById("uEmail").value = null;     ets.innerHTML ='邮箱已被注册!';           ets.style.color='red';                               }    });    ets.innerHTML ="邮箱可以使用!";      ets.style.color="green";      return true;   }   function checkPass(){      var userPass =  document.getElementById("uPass").value;           var pts = document.getElementById("passts");            if(userPass.length<6 || userPass.length >15)        {             pts.innerHTML ="密码长度须在6-15之间!";          pts.style.color="red";          return false;      }      pts.innerHTML ="密码可以使用!";      pts.style.color="green";      return true;   }   function checkRpass(){      var userPass = document.getElementById("uPass").value;      var userRPass =document.getElementById("uRPass").value;      var prts =  document.getElementById("passrts");      if (userPass != userRPass) {          prts.innerHTML="两次密码输入不一致!";          prts.style.color="red";          return false;      }      prts.innerHTML ="输入一致!";      prts.style.color="green";      return true;   }   function checkMobile(){ var tel = document.getElementById("tel").value; var telts = document.getElementById("telts"); if(!isMobile(tel)){          telts.innerHTML ="手机号格式不正确!";          telts.style.color="red";          return false;      }    telts.innerHTML ="手机号正确!";      telts.style.color="green";      return true;   } function isEmail(str){      var reg = /[a-z0-9-]{1,30}@[a-z0-9-]{1,65}.[a-z]{3}/;      return reg.test(str);   }   function isMobile(str) { var reg = /^1\d{10}$/; return reg.test(str); } function register() { if (!checkemail()) { return false; }else if (!checkpass()) { return false; }else if (!checkrpass()) { return false; }else if(!checkMobile){ return false; }else{ return true; } } </script>  </head>    <body>  <%@include file="header.jsp" %>   <div class="container"> <div class="row clearfix"> <div class="col-md-3 column"> </div> <div class="col-md-6 column"> <div class="bg1"> <form  class="form-horizontal" role="form" action="/mydemo/servlet/UserServlet?action=register" method="post" onsubmit="return register()"> <div class="form-group"> <label for="inputEmail3" class="col-sm-2 control-label">邮箱:</label> <div class="col-sm-10"> <input type="text" class="form-control btt" id="uEmail" name="email"onblur="checkEmail()"/> <span id="emailts"></span> </div> </div> <div class="form-group"> <label for="inputPassword3" class="col-sm-2 control-label">密码:</label> <div class="col-sm-10"> <input type="password" class="form-control btt" id="uPass" name="pass"onblur="checkPass()"/> <span id="passts"></span> </div> </div> <div class="form-group"> <label for="inputPassword3" class="col-sm-2 control-label">确认密码:</label> <div class="col-sm-10"> <input type="password" class="form-control btt" id="uRPass" onblur="checkRpass()"/> <span id="passrts"></span> </div> </div> <div class="form-group"> <label for="inputPassword3" class="col-sm-2 control-label">手机:</label> <div class="col-sm-10"> <input type="text" class="form-control btt" id="tel" name="tel"onblur="checkMobile()"/> <span id="telts"></span> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default btt bttt" >注册</button> </div> </div> </form> </div> </div> <div class="col-md-3 column"> </div> </div></div> <%@include file="foot.jsp" %>  </body></html>
查看完整描述

1 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

大致一看很多错误,register()里边,JS是区分大小写的,所以:checkemail()=>checkEmail(); checkpass()=>checkPass(); checkrpass()=>checkRPass(); checkMobile=>checkMobile() 等,可能还有其他的问题,仔细点
查看完整回答
1 反对 回复 2017-05-20
  • frank_mojito
    frank_mojito
    eclipse没有js提示,还真是,方法名写错了,这里根本没想会写错的,对了,eclipse有什么好js提示的插件么
  • 习惯受伤
    习惯受伤
    我没用eclipse写过JS,写JS推荐HBuilder或者WebStorm
  • 1 回答
  • 0 关注
  • 1720 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信