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()
操作是异步的。你不能返回值。这并不能解决问题。我已经试过了。。但这无助于。。警报不起作用,甚至响应不相等正常,返回真值。。