gpt4 book ai didi

jquery - 表单提交前验证连接

转载 作者:行者123 更新时间:2023-12-01 00:23:30 25 4
gpt4 key购买 nike

我试图在表单提交之前验证用户的互联网连接,以便我的 JavaScript 验证函数可以抛出警报并在没有连接时返回 false。

我尝试过:navigator.onLine - 在 FF 中不起作用(仅查看浏览器是否处于“离线模式”)

对我自己网站的 AJAX 请求:

$.ajax({  
type: "GET",
url: "internet_test.php",
async: false, //trying to force a response before continuing
timeout:8000,
success: function(ret_text) {
if(ret_text == 'yes') {
return true;
} else {
alert("No Connection 1");
return false;
}
},
error: function(x, t, m) {
if(t==="timeout") {
alert("No Connection 2");
return false;
} else {
alert("No Connection 3"); //this is the one triggered
return false;
}
}
});

我收到了第三种错误的警报,但表单还是提交了。我猜测该错误会覆盖我尝试指定同步检查的事实,并且 JavaScript 验证器在 AJAX 返回 false 之前完成。

有什么好的办法解决这个问题吗?更好的方法吗?

谢谢!

最佳答案

我会这样走:

  1. 将“提交”更改为“按钮”(或链接) - 它将停止提交表单。
  2. 单击此按钮进行 AJAX 调用,如果一切正常,则进行 form.submit();

这只是一个草案,一切都可以变得更加用户友好,对于 no-js 浏览器更加健壮等。

关于jquery - 表单提交前验证连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com