<tr> <td class="tdBg" width="200px">帐号:</td> <td><s:textfield id="account" name="user.account" onchange="doverify()"/></td> </tr> 相应的js方法: <script type="text/javascript"> //校验账号唯一 function doverify(){ //1.获取账号 var account=$("#account").val(); if(account!=""){ //2.校验get/post/getJson/ajax $.ajax({ url:"${basePath}tax/user_verifyAccount.action", data:{"user.account":account}, trpe:"post", success:function(msg){ if("true"!=msg){ //账号已经存在 alert("账号已经存在,请使用其它账号!"); //定焦 $("#account").focus(); } } }); } } </script>
//检验用户账号唯一 public void verifyAccount(){ try { //1.获取账号 if (user != null && StringUtils.isNotBlank(user.getAccount())) { //2.根据账号到数据库中校验是否存在该账号对应的用户 List<User> list = userService.findUserByAccountAndId(user.getId(), user.getAccount()); String strResult = "true"; if (list != null && list.size() > 0) { //说明该账号已经存在 strResult = "false"; } //输出 HttpServletResponse response = ServletActionContext .getResponse(); response.setContentType("text/html"); ServletOutputStream outputStream = response.getOutputStream(); outputStream.write(strResult.getBytes()); outputStream.close(); } } catch (Exception e) { e.printStackTrace(); } }
@Override public List<User> findUserByAccountAndId(String id, String account) { return userDao.findUserByAccountAndId(id,account); }
@Override public List<User> findUserByAccountAndId(String id, String account) { String hql="FROM User WHERE account = ?"; if(StringUtils.isNoneBlank(id)){ hql+=" AND id != ?"; } Query query=getSession().createQuery(hql); query.setParameter(0, account); if(StringUtils.isNoneBlank(id)){ query.setParameter(1, id); } return query.list(); }
<input type="submit" class="btnB2" value="保存" onclick="return doSubmit()"/>
<script type="text/javascript"> var vResult=false; //校验账号唯一 function doverify(){ //1.获取账号 var account=$("#account").val(); if(account!=""){ //2.校验get/post/getJson/ajax $.ajax({ url:"${basePath}tax/user_verifyAccount.action", data:{"user.account":account}, trpe:"post", async:false,//非异步 success:function(msg){ if("true"!=msg){ //账号已经存在 alert("账号已经存在,请使用其它账号!"); //定焦 $("#account").focus(); }else{ vResult=true; } } }); } } //提交表单 function doSubmit(){ var name=$("#name"); if(name.val()==""){ alert("用户名不能为空!"); name.focus(); return false; } var password=$("#password"); if(password.val()==""){ alert("密码不能为空!"); password.focus(); return false; } //账号校验 doverify(); if(vResult){ //允许提交表单 return true; }else{ return false; } } </script>
<tr> <td class="tdBg" width="200px">用户名:</td> <td><s:textfield id="name" name="user.name"/> </td> </tr> <tr> <td class="tdBg" width="200px">帐号:</td> <td><s:textfield id="account" name="user.account" onchange="doverify()"/></td> </tr> <tr> <td class="tdBg" width="200px">密码:</td> <td><s:textfield id="password" name="user.password"/></td> </tr>
<input type="submit" class="btnB2" value="保存" onclick="return doSubmit()"/>
js方法(我们检测除了自己之外还有没有人使用这个账号):
<script type="text/javascript"> var vResult = false; //校验帐号唯一 function doverify(){ //1、获取帐号 var account = $("#account").val(); if(account != ""){ //2、校验 $.ajax({ url:"${basePath}tax/user_verifyAccount.action", data: {"user.account": account,"user.id": "${user.id}"}, type: "post", async: false,//非异步 success: function(msg){ if("true" != msg){ //帐号已经存在 alert("帐号已经存在。请使用其它帐号!"); //定焦 $("#account").focus(); vResult = false; } else { vResult = true; } } }); } } //提交表单 function doSubmit(){ var name = $("#name"); if(name.val() == ""){ alert("用户名不能为空!"); name.focus(); return false; } var password = $("#password"); if(password.val() == ""){ alert("密码不能为空!"); password.focus(); return false; } //帐号校验 doverify(); if(vResult){ return true; }else{ return false; } } </script>
至此我们的所有校验工作已经完成。
转载请注明出处:http://blog.csdn.net/acmman/article/details/49420837