表格不提交甚至没有错误和OK响应

时间:2014-04-11 14:08:21

标签: javascript jquery

我很难回来。

我需要,如果回复“ok”,我的表单将被提交,否则文档将无法重新加载。

我尝试过这样:

$(window).load(function(){
$('.check-connection').click(function(){
    u = {};
    u["host"] = $('[name="host"]').val();
    u["db_user"] = $('[name="db_user"]').val();
    u["db_pass"] = $('[name="db_pass"]').val();
    u["db_name"] = $('[name="db_name"]').val();
    $.post('check-connection.php',{secure:true,data:u}).done(function(r){
        if(r == "ok"){
            /*
                here problems even returns ok
                alert(r); - gives answer ok if trying to check..
            */
            return true;
        } else {
            alert(r);
            return false;
        }
    });
    return false;
});

});

有什么想法吗?提供?

2 个答案:

答案 0 :(得分:0)

您可能想删除最后一个return false;,因为它在ajax完成之前返回。

让它在执行.done()处理程序时返回。

答案 1 :(得分:0)

你不能从ajax done函数中返回一个布尔值,并期望它被传递回click处理程序。 ajax是异步的,因此click处理程序将在收到ajax响应之前完成执行。

逻辑应该是:按一下按钮调用ajax(不是表单提交),然后从ajax成功处理程序中提交表单,否则不做任何事情。