jquery easyUI中ajax异步校验用户名


Posted in Javascript onAugust 19, 2016

以前无聊写过一个小东西,其中有一个功能就是添加用户,当时并没有考虑用户名重复的问题,今日闲来无事,打算利用ajax的异步刷新来校验用户名是否存在。自己也是新手,刚刚大三,哈哈写的不对的地方请指出。
放上效果图:

jquery easyUI中ajax异步校验用户名

首先是编写前的准备

我并不是用原生的js来写的ajax而是用的jqueryeasyUI框架中的ajax,所以在使用之前就必须要引入jquery的js文件。

<link rel="stylesheet" type="text/css" href="${contextPath}/pages/introcontrol/util/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="${contextPath}/pages/introcontrol/util/themes/icon.css">
<script type="text/javascript" src="${contextPath}/pages/introcontrol/util/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="${contextPath}/pages/introcontrol/util/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${contextPath}/pages/introcontrol/util/easyui-lang-zh_CN.js"></script>
<script type="text/javascript">

首先是在jsp文件中的编写

var isExist = true;//这里设置一个标识符用于后面阻止表单的提交
$(function(){

  //表单的验证
  $('#fname').validatebox({
   required:true , 
   missingMessage:'用户名不能为空!' ,
   precision:0
  });
  $('#floginname').validatebox({
   required:true , 
   missingMessage:'登录名不能为空!',
   precision:0
  });
  //对于添加按钮的绑定
  $('#addBtn').bind('click',function(){
   addUser();
  });

 });
/** 
 * 添加用户 
 */ 
function addUser(){
 var obj = $('#orgTree').tree('getSelected');
 if(obj){
  $('#fdepname').val($('#orgTree').tree('getSelected').text);
  $('#fdepid').val($('#orgTree').tree('getSelected').id);
  $('#operator_user').dialog({
   width:350,
   height:300,
   title:'新增管理',
   modal:true,
   buttons:[{
    text:'提交',
    handler: function(){
    //判断是否符合条件 
     if(!isExist){
      if($('#operator_user').form('validate')){
       $.ajax({
        url:"<%=request.getContextPath()%>/peixun/addUser.action",
        type:"post",
        dataType:'json',
        data:$('#myform').serialize(),       
        success:function(data,response,status){
         if(data.type=='success'){
          $.messager.alert("提示","新增成功!");
          $('#sysUserTable').datagrid('reload');
          $('#operator_user').dialog('close');
          //清空表单
          $('#myform')[0].reset();
         }else{
          $.messager.alert("提示","新增失败!");
         }
        }
       });
      }
     }
    }


   },{
    text:'取消',
    handler: function(){
     $('#operator_user').dialog('close');
     $('#myform')[0].reset();
    }
   }],
  }); 
 }else if(obj==null){
   alert("未选择树。。。");
 }
};
/** 
 * AJAX异步校验用户名 
 */

function checkUserName(){  
 var floginname = $("#floginname").val();  
 $.ajax({
  url :"${contextPath}/peixun/checkUserName.action",
  type:'POST',
  data:{
   loginname:floginname
  },   
  dataType:'json',
  success:function(data){
  //根据后台返回的数据来进行判断,并给出提示。
   if (data.type == "true") {
    $("#label")[0].innerHTML="<font color='red'>登录名重复</font>";
    isExist = true;
   }else if(data.type == "false") {
    $("#label")[0].innerHTML="<font color='green'>恭喜你,登录名可以使用</font>";
    isExist = false;
   }
  },
  error:function(data){
   alert("获取用户信息失败,请联系管理员!");
  }
 });


}

Action部分

package ais.peixun.web;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import ais.adl.model.TreeNode;
import ais.framework.struts.BaseAction;
import ais.framework.util.UUID;
import ais.peixun.service.PeixunService;
import ais.user.model.UUser;
public class PeixunAction extends BaseAction {
 private static final long serialVersionUID = 6269156200927918770L;

 private PeixunService peixunService;

 private Map<String, Object> resultMap = new HashMap<String, Object>();
 private UUser user;
 private String id;
 private String fname;
 private String floginname;
 private String name;
 private String loginname;
 private String fsex;
 /**
  * 添加用户
  **
 public String addUser(){
  try{
   if(user !=null){
    String id = new UUID().toString();
    user.setFuserid(id);
    Serializable ser = this.peixunService.addOneUser(user);
    if(ser != null && ser!=""){
     this.resultMap.put("type","success");
    }else{
     this.resultMap.put("type","error");
    }
   } 
  }catch(Exception e){
   e.printStackTrace();
  }
  return SUCCESS;
 }

 /**
  * 校?用?裘?欠翊嬖诘姆椒
  */
 public String checkUserName(){
  try{
   if(loginname !=null&&loginname !=null){
   //这里通过daoImpl返回的数据来进行判断
    int count=this.peixunService.checkUserName(loginname);
    if(count==1){
    //将结果true放到 type中返回给前台
     this.resultMap.put("type","true");
    }else{
     this.resultMap.put("type","false");
    }
   }
  }catch(Exception e){
   e.printStackTrace();
  }
  return SUCCESS;
 }
 public PeixunService getPeixunService() {
  return peixunService;
 }

 public void setPeixunService(PeixunService peixunService) {
  this.peixunService = peixunService;
 }

 public Map<String, Object> getResultMap() {
  return resultMap;
 }

 public void setResultMap(Map<String, Object> resultMap) {
  this.resultMap = resultMap;
 }
  public String getFname() {
  return fname;
 }

 public void setFname(String fname) {
  this.fname = fname;
 }

 public String getFloginname() {
  return floginname;
 }

 public void setFloginname(String floginname) {
  this.floginname = floginname;
 }

 public String getFsex() {
  return fsex;
 }
 public void setFsex(String fsex) {
  this.fsex = fsex;
 }
 public String getFdepname() {
  return fdepname;
 }

 public void setFdepname(String fdepname) {
  this.fdepname = fdepname;
 }
 public UUser getUser() {
  return user;
 }

 public void setUser(UUser user) {
  this.user = user;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getLoginname() {
  return loginname;
 }

 public void setLoginname(String loginname) {
  this.loginname = loginname;
 }
 public String getId() {
  return id;
 }

 public void setId(String id) {
  this.id = id;
 }

}

 Service以及ServiceImpl

package ais.peixun.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import ais.adl.model.TreeNode;
import ais.framework.service.IBaseService;
import ais.user.model.UUser;

public interface PeixunService extends IBaseService {

 public Serializable addOneUser(UUser user); 
 public int checkUserName(String loginname);

}


package ais.peixun.service.impl;

import java.io.Serializable; 
import java.util.List;
import java.util.Map;

import ais.adl.model.TreeNode;
import ais.framework.service.impl.BaseServiceImpl;
import ais.peixun.dao.PeixunDao;
import ais.peixun.service.PeixunService;
import ais.user.model.UUser;

public class PeixunServiceImpl extends BaseServiceImpl implements PeixunService {

 private PeixunDao peixunDao;

 public PeixunDao getPeixunDao() {
  return peixunDao;
 }

 public void setPeixunDao(PeixunDao peixunDao) {
  this.peixunDao = peixunDao;
 }

 @Override 
 public Serializable addOneUser(UUser user){
  return this.peixunDao.addOneUser( user);
 }

 @Override
 public int checkUserName(String loginname) {
  return this.peixunDao.checkUserName(loginname);
 }

}

Dao以及DaoImpl

package ais.peixun.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;


import ais.adl.model.TreeNode;
import ais.framework.dao.IBaseDAO;
import ais.user.model.UUser;

public interface PeixunDao extends IBaseDAO {
 public Serializable addOneUser(UUser user); 
 public int checkUserName(String loginname);

}

package ais.peixun.dao.impl;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.HibernateCallback;

import com.sybase.jdbc2.jdbc.Convert;

import ais.adl.model.TreeNode;
import ais.framework.dao.hibernate.BaseDAOImpl;
import ais.organization.model.UOrganization;
import ais.peixun.dao.PeixunDao;
import ais.resmngt.audobj.model.AuditingObject;
import ais.user.model.UUser;

/**
 * @author Forlangel
 *
 */
public class PeixunDaoImpl extends BaseDAOImpl implements PeixunDao {
 /* 
  * 添加用户
  */
 @Override
 public Serializable addOneUser(UUser user) {
  Serializable ser;
  try{
   ser = this.getHibernateTemplate().save(user);
  }catch(Exception e){
   e.printStackTrace();
   return null;
  }
  return ser;
 }

 /* 
  * ajax校验
  */
 @SuppressWarnings("unchecked")
 @Override
 public int checkUserName( String loginname) {
   //设置一个标识符用于返回 
   int flag = 0;
   try{ 
    StringBuffer sbf=new StringBuffer();
    sbf.append("from UUser u where u.floginname =");
    sbf.append("'"+loginname+"'");
    //如果从数据库中查询出数据,表示用户名重复
    List<UUser> list =this.getHibernateTemplate().find(sbf.toString());
    if( list.size() > 0){   
     flag = 1;  
    } 
   }catch(Exception e){
    e.printStackTrace();
   }
   return flag;

 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
3Z版基于jquery的图片复选框(asp.net+jquery)
Apr 12 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
Sep 15 Javascript
js里取容器大小、定位、距离等属性搜集整理
Aug 19 Javascript
JavaScript实现获得所有兄弟节点的方法
Jul 23 Javascript
javascript bom是什么及bom和dom的区别
Nov 26 Javascript
javascript使用Promise对象实现异步编程
Mar 01 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
JavaScript 详解预编译原理
Jan 22 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
一文了解vue-router之hash模式和history模式
May 31 Javascript
vue 中的 render 函数作用详解
Feb 28 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
Aug 19 #Javascript
AngularJS入门教程之REST和定制服务详解
Aug 19 #Javascript
js自调用匿名函数的三种写法(推荐)
Aug 19 #Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 #Javascript
jQuery增加、删除及修改select option的方法
Aug 19 #Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 #Javascript
AngularJS入门教程之过滤器详解
Aug 19 #Javascript
You might like
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
脚本收藏iframe
2006/07/21 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
js获取视频时长代码
2014/04/10 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
土木工程个人自荐信范文
2013/11/30 职场文书
化学实验员岗位职责
2013/12/28 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书