这是小弟写的一个校验,有点奇怪请老大们指点.........
function AddWin(url, title) {
top.fraMain.AddWin(url, title);
}function isSelectedServ() {
if ($("servId").value == "") {
alert("请选择业务!");
return false;

else {
return true;
}
return false;
}var bool;
function newServiceAdd()
{
if (isSelectedServ()) {
var custId = $("custId").value;
var acctId = $("acctId").value;
var servId = $("servId").value;
var servCode = $("servCode").value;
var servStatus = $("servStatus").value;
//
if (servStatus == "") {
alert('该用户当前未办理业务\r\n请先办理业务!');
   return false;
}
checkService();
if(servCode == "05")
{
if(!bool)
{
AddWin('newServiceAdd.boss?custId=' + custId + '&acctId=' + acctId + '&servId=' + servId + '&servStatus=' + servStatus, '新增A业务');   

}
else
{
alert("该用户已办理过此业务\r\n不能进行新增业务!");
}
}
if(servCode == "07")
{
if(!bool)
{
AddWin('newServiceAdd.boss?custId=' + custId + '&acctId=' + acctId + '&servId=' + servId + '&servStatus=' + servStatus, '新增B业务');

}
else
{
alert("该用户已办理过此业务\r\n不能进行新增业务!");
}
}
}
}function checkService()
{
var custId = $("custId").value;
var servCode = $("servCode").value; url='newServiceCheck.boss';
params='custId='+custId+'&servCode='+servCode;

var myAjax = new Ajax.Request(url,{method:'get',parameters:params,onComplete:checkComplete,onFailure:checkFailure});
}function checkComplete(originalRequest)
{
var msg=originalRequest.responseText;
if(msg == "yes")
{
bool=true;
alert("true");
}
}function checkFailure()
{   
alert("falal error,please try again!");   
}
问题是 如果两个业务都存在点按钮验证时第一次还是会弹出新增业务窗口
以后在点就没问题,每回都是第一次  数据库里验证返回值是正常的
不知是何缘故.........

解决方案 »

  1.   

    try it:<script>
    function AddWin(url, title) {
    top.fraMain.AddWin(url, title);
    }function isSelectedServ() {
    if ($("servId").value == "") {
    alert("请选择业务!");
    return false;

    else {
    return true;
    }
    return false;
    }var bool=false;
    function newServiceAdd()
    {
    if (isSelectedServ()) {
    var servStatus = $("servStatus").value;
    //
    if (servStatus == "") {
    alert('该用户当前未办理业务\r\n请先办理业务!');
       return false;
    }
    checkService();
    }
    }function checkService()
    {
    var custId = $("custId").value;
    var servCode = $("servCode").value; url='newServiceCheck.boss';
    params='custId='+custId+'&servCode='+servCode;

    var myAjax = new Ajax.Request(url,{method:'get',parameters:params,onComplete:checkComplete,onFailure:checkFailure});
    }function checkComplete(originalRequest)
    {
    var msg=originalRequest.responseText;
    if(msg == "yes")
    {
    bool=true;
    alert("true");
    }
    var servStatus = $("servStatus").value;
    var custId = $("custId").value;
    var acctId = $("acctId").value;
    var servId = $("servId").value;
    var servCode = $("servCode").value;
    if(servCode == "05")
    {
    if(!bool)
    {
    AddWin('newServiceAdd.boss?custId=' + custId + '&acctId=' + acctId + '&servId=' + servId + '&servStatus=' + servStatus, '新增A业务');   

    }
    else
    {
    alert("该用户已办理过此业务\r\n不能进行新增业务!");
    }
    }
    if(servCode == "07")
    {
    if(!bool)
    {
    AddWin('newServiceAdd.boss?custId=' + custId + '&acctId=' + acctId + '&servId=' + servId + '&servStatus=' + servStatus, '新增B业务');

    }
    else
    {
    alert("该用户已办理过此业务\r\n不能进行新增业务!");
    }
    }
    bool=false;
    }function checkFailure()
    {   
    alert("falal error,please try again!");   
    }
    </script>