Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单未提交,甚至没有错误和OK响应_Javascript_Jquery - Fatal编程技术网

Javascript 表单未提交,甚至没有错误和OK响应

Javascript 表单未提交,甚至没有错误和OK响应,javascript,jquery,Javascript,Jquery,我要回去了 我需要的是,若回答是“确定”,我的表格将提交,否则文件将不会重新加载 我试过这样做: $(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

我要回去了

我需要的是,若回答是“确定”,我的表格将提交,否则文件将不会重新加载

我试过这样做:

$(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;
});
}))


有什么想法吗?提供?

您可能希望删除最后一个
返回false因为它在ajax完成之前返回


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

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


逻辑应该是:点击按钮调用ajax(而不是表单提交),然后从ajax成功处理程序中提交表单,否则什么都不要做。

请阅读:您应该使用正确的$.post语法来处理返回值-@JayBlanchard??代码看起来正常(除了
return
语句);它使用的是延迟机制,而不是第三个参数回调。@Pointy我应该在.done()中处理它,这只是一个首选项。
$.post()
操作是异步的。你不能返回值。这并不能解决问题。我已经试过了。。但这无助于。。警报不起作用,甚至响应不相等正常,返回真值。。