function save(){
if($("#ID").val()==""){
$("#ID").tips({
side:3,
msg:'请输入媒体类型ID',
bg:'#AE81FF',
time:2
});
$("#ID").focus();
return false;
}
if($("#ID").val()){
var flag=validateID($("#ID").val())
if(flag){
freshID();
}
}
function validateID(id){
$.ajax({
url:'validate_id',
data:{id:$("#ID").val()},
dataType:'json',
type:'post',
success:function(resp){
return resp.msg
}
});
}
function freshID(){
$.ajax({
url:'fresh_id',
dataType:'json',
type:'post',
success:function(resp){
$("#ID").val(resp.ID)
}
});
controller中代码
/**
* 保存前校验
* @param sitecode
* @return
* @throws Exception
*/
@RequestMapping(value="/validate_site_code")
@ResponseBody
public Object validateSiteCode(String sitecode) throws Exception {
PageData pd = new PageData();
Map<String,Object> map = new HashMap<String,Object>();
pd = this.getPageData();
if (siteService.hasThisCode(sitecode)) {
map.put("msg", "true");
}else{
map.put("msg", "false");
}
return AppUtil.returnObject(pd, map);
}
/**
* 刷新站点代码
* @return
* @throws Exception
*/
@RequestMapping(value="/fresh_site_code")
@ResponseBody
public Object freshSiteCode() throws Exception {
PageData pd = new PageData();
Map<String,Object> map = new HashMap<String,Object>();
pd = this.getPageData();
map.put("SITE_CODE", getNextSiteCode());
return AppUtil.returnObject(pd, map);
}
首先得结合后台一起看,因为没有后台代码和JSP页面,所以下面大概猜一下。
第一个if是判断id或者name为的ID这个不知道是什么控件内的数据是不是空,空即显示message,并返回false。
第二个if是ID有值,调用validateID函数。
validateID函数即将ID的值传入进行ajax请求,后台(你没发出来我看不到的地方)会进行ID的校验,并返回一个flag。
如果flag成立则执行freshID这个函数,请求成功则会把ID值赋回id或者name为的ID这个不知道是什么控件内。