2011-05-27 106 views
0

我有一个简单的形式与两个字段的数据正在验证与数据库上使用jQuery的关键字。我还有一个当前启用或禁用的按钮,该按钮基于这两个字段中输入的字符数。两个jquery函数返回两个字段的“接受”或“取消”图像。我只想在两个函数都返回接受图像时启用按钮,或者我甚至可以使它们与它一起返回true,这不会成为问题。我只想知道如何根据两个不同的Ajax请求的返回值来计算本地结果。基于两个不同的ajax请求计算结果

这两个函数验证数据库的字段。

$("#agentName").keyup(function(){ 
     var agentName = $("#agentName").val(); 
     if(agentName.length > 3) 
     { 
      $("#agt-name-result").html(ajax_load).load(loadUrl, "val="+agentName+"&fld=agent_name"); 
     } 
     else{ 
      $("#agt-name-result").html("<img src=\"images/cancel.png\" />"); 
     } 
    }); 

    $("#agentSource").keyup(function(){ 
     var agentSource = $("#agentSource").val(); 
     if(agentSource.length > 9) 
     { 
      $("#agt-src-result").html(ajax_load).load(loadUrl, "val="+agentSource+"&fld=agent_url"); 
     } 
     else{ 
      $("#agt-src-result").html("<img src=\"images/cancel.png\" />"); 
     } 
    }); 

这是验证按钮

$("#agentName,#agentSource").keyup(function(){ 
     var validate;   
     var agentName = $("#agentName").val(); 
     var agentSource = $("#agentSource").val(); 
     if((agentName === "") || (agentSource === "") || (agentName.length < 3) || (agentSource.length < 10)) 
     { 
      validate = false; 
     } 
     else { validate = true; }     
     if(validate === true) { 
      $("#addAgntBtn").removeAttr("disabled"); 
      $("#addAgntBtn").removeClass("dialog-btn-disabled").addClass("dialog-btn"); 
     } 
     else { 
      $("#addAgntBtn").attr("disabled", "disabled"); 
      $("#addAgntBtn").removeClass("dialog-btn").addClass("dialog-btn-disabled"); 
     } 
    }); 

任何想法的功能?

回答

1

我会使用setInterval轮询一个$.data()值,其中两个ajax调用将其结果。你必须注意并发访问,但它应该工作

+0

我不这么认为。这似乎是错误的做法。 – swordfish 2011-05-31 12:46:19