1、在需要校验的input框添加:
<input id="dicNo" name="dicNo" type="text" class="form-control" placeholder="请输入字典编号"
οninput="OnInput(event)" onpropertychange="OnPropChanged(event)" value="${dicform.dicno }">
2、在js中添加:标颜色的是数据的获取,其他是自己的操作
//字典编号唯一性校验
function OnInput (event) {
var id = $("#id").val();
var dicno = event.target.value;//获取input框实时输入的数据
DicAction.checkDicUnique(id, dicno, function callback(rs){
if(rs != null && rs == 1){
$.alert({
title: false,
content: '字典编号不能重复',
confirmButtonClass: 'btn-danger',
confirmButton:'是'
});
$(".confirm-submit-btn").prop("disabled", true);
}else{
$(".confirm-submit-btn").prop("disabled", false);
}
});
}
//字典编号唯一性校验,ie兼容模式
function OnPropChanged (event) {
var id = $("#id").val();
var dicno = event.srcElement.value;//获取input框实时输入的数据
DicAction.checkDicUnique(id, dicno, function callback(rs){
if(rs != null && rs == 1){
alert("字典编号不能重复");
$(".confirm-submit-btn").prop("disabled", true);
}else{
$(".confirm-submit-btn").prop("disabled", false);
}
});
}
3、后台dwr.xml
<create javascript="DicAction" creator="spring">
<param name="beanName" value="/dicAction"></param>
<include method="checkDicUnique"/>
</create>
4、后台Action层:count=1,有重复,count=0,没有重复,id不能等于自己本身的意思是:如,id=1,dicno=2,而id=3的dicno不能是2
public int checkDicUnique(String id, String dicno) {
int count;
List<Map> list = resource
.getBaseDAO()
.getSQLList(
" select count(1) as f_count from t_hzoa_sys_dic where dicno = ? and id <> ? ",
new Object[] { dicno, id });
count = Integer.parseInt(list.get(0).get("F_COUNT").toString());
return count;
}
调用dwr注意:要添加
<script type='text/javascript' src='/jflow/dwr/interface/DicAction.js'></script>//Action类名
<script type='text/javascript' src='/jflow/dwr/engine.js'></script>