今天给程序加验证,出现了一个很奇怪让人头疼的问题,不管怎么写回调函数return回什么结果,到最后submitValid()方法都会执行完,也就是导致dwr唯一性验证失败,没有中断js方法会继续执行下面代码;最后调试找其他方法还是同样的结果;在调试过程中发现dwr方法还没执行完总是先把其他js执行完了,才有dwr回调函数弹出的结果;最后解决方案是把,dwr调用的方法放在最前头执行;然后在去验证其他js;
function checkProviceCode()
{
trimAndSetValue(['provicecode']);//去除前后空格
var provicecode =$("#provicecode").val();
if(!isNUll(provicecode)&&provicecode !='${dbconfig.provicecode }')//若没有做修改则不需要检测数据库是否存在
{
//省份代号不能重复
SelectDBSourceDwr.checkProviceCodeExist(provicecode,callBack);
}
}
function callBack(resultData)
{
if(resultData)
{
alert("省份代号已存在,请重输!");
return false;
}
var tag = "${tag}";
var vAction ;
if(submitValid())//执行其他验证
{
if(tag=='add')
{
vAction ='dBConfigAction_addDBLinkStr.action';
}else if(tag=='update')
{
vAction ='dBConfigAction_updateDBLinkStr.action';
}
$("#form1").attr("action",vAction);
$("#form1").submit();
}else
{
alert("验证失败!");
return false;
}
}