基于两个不同的ajax请求的计算结果

时间:2011-05-27 08:43:29

标签: php javascript jquery ajax

我有一个简单的表单,其中包含两个字段,其数据正在使用jquery对照密钥表上的数据库进行验证。我还有一个按钮,该按钮当前根据在这两个字段中输入的字符数启用或禁用。两个jquery函数返回两个字段的“接受”或“取消”图像。我想只在两个函数都返回接受图像时启用按钮,或者我甚至可以让它们与它一起返回true,这不会有问题。我只想知道如何根据两个不同的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 个答案:

答案 0 :(得分:1)

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