添加功能(Ajax版)

添加页面

与之前的逻辑一样。

@RequestMapping("/emp")
public String save(Model model) {
	List<Dept> depts = deptService.getAll();
	model.addAttribute("depts", depts);
	return "save";
}

添加页面的变化:

添加功能

点击【保存】通过Ajax请求完成添加操作。

//添加按钮事件
$("#save").click(function () {
        $("#msg").text("");
        $.ajax({
    	url: "${ctx}/emp",
    	data: $("form").serialize(), //取得表单所有参数
    	type: "post",
    	success: function (result) {
    	    //100表示处理成功
    	    if (result.code == 100) {
    		alert(result.msg);
    		window.opener.location.reload();//刷新父窗口
    		window.close();//关闭当前窗口
    	    }
    	    //200表示处理失败
    	    else if (result.code == 200) {
    	    //显示表单的校验信息
        	$.each(result.data.errors, function (index, item) {
        	    $("#errors").text(item.defaultMessage);
        		});
    
                //显示姓名唯一性的校验信息
        		if(result.data.checkNameError!=null){
        		    $("#errors").text(result.data.checkNameError);
        		}
    	    }
    	}
    });
});
@ResponseBody
@RequestMapping(value = "/emp", method = RequestMethod.POST)
public Msg save(@Valid Emp emp, BindingResult result) {
	if (result.hasErrors()) {
	    List<FieldError> errors = result.getFieldErrors();
	    return Msg.fail().add("errors", errors);
	} else {
	    boolean flag = checkName(emp.getName());
	    if(!flag){
    		String msg = "姓名已被使用,请更换!-后台提示";
    		return Msg.fail().add("checkNameError", msg);
	    }else{
    		empService.save(emp);
    		return Msg.success();
	    }
	}
}

校验唯一性

//校验姓名唯一性
$("#name").change(function () {
        $.ajax({
    	url: "${ctx}/checkName",
    	data: "name=" + $(this).val(),
    	type: "get",
    	success: function (result) {
    	    if (!result) {
    		$("#msg").text("姓名已被使用,请更换!");
    	    } else {
    		$("#msg").text("");
    	    }
    	}
    });
});
@ResponseBody
@RequestMapping("/checkName")
public boolean checkName(String name) {
	return empService.checkName(name);
}

转载于:https://my.oschina.net/mondayer/blog/3037955

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值