表单验证时,Ajax加载不起作用

时间:2011-03-21 15:29:48

标签: php javascript jquery

我使用表单将文件上传到我的服务器,我希望在表单验证时加载进度条。这是我用jQuery编写的代码:


$(document).ready(function(){
    $("#uploadform").submit(function(e){
        var valid_form = validateForm();

        if (valid_form){
            $("#pb").load("/php/progressbar.php");
        }
        return valid_form;
    });
});

问题是我在提交后收到此消息:

GET http://ftplink.wedo/php/progressbar.php undefined (undefined)

但奇怪的是,我试图反转IF的条件,当表单没有验证时,实际上发生了ajax加载。发生了什么事?

1 个答案:

答案 0 :(得分:0)

无法从你的问题中说出一切。我猜想在存在活动的ajax请求时,表单提交正在进行。你应该返回false,然后在ajax完成加载进度条时提交表单。

if (valid_form){
    $("#pb").load("/php/progressbar.php", function(){
        $("#uploadform").unbind('submit').submit(); // unbind so you are not recursive
    });
}
return false;