浅析onsubmit校验表单时利用ajax的return false无效问题
来源:互联网 发布:南昌淘宝照片拍摄的 编辑:程序博客网 时间:2024/06/06 00:50
代码如下:
/**
* 表单提交校验
**/
function onSubmit(){
if($('#name').val().length<2){
alert("名称请不少于两个汉字");
return false;
}
var t = new Date().getTime();
$.ajax({
type: "POST",
url: "/users/checkrepeat/",
data: "name=" + $('#name').val() + "&time=" + t,
success:function(res){
if(res == 'exists'){
alert("名称已存在,请修改.");
return false;
}
}
});
}
问题原因:
1. ajax时return false 的function与onsubmit()不是同一个函数;
2. 在ajax执行时,async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)。
修改后的代码:
复制代码代码如下:
/**
* 表单提交校验
**/
function onSubmit(){
if($('#name').val().length<2){
alert("名称请不少于两个汉字");
return false;
}
var flag = true;
var t = new Date().getTime();
$.ajax({
type: "POST",
async:false, // 设置同步方式
cache:false,
url: "/users/checkrepeat/",
data: "name=" + $('#name').val() + "&time=" + t,
success:function(res){
if(res == 'exists'){
alert("名称已存在,请修改.");
flag = false;
}
}
});
if(!flag)
return false;
0 0
- 浅析onsubmit校验表单时利用ajax的return false无效问题
- 浅析onsubmit校验表单时利用ajax的return false无效问题
- onsubmit校验表单时利用ajax的return false 无效问题
- onsubmit 校验表单时利用 ajax 的 return false 无效问题
- onsubmit校验表单时利用ajax的return false无效解决方法
- onsubmit校验表单时利用ajax的return false无效解决方法
- 表单onsubmit return false 无效
- [轉] 由表单中 onsubmit="return false;" 想到的
- (转)由表单中onsubmit="return false;"想到的
- 由表单中onsubmit="return false;"想到的
- 由表单中onsubmit="return false;"想到的
- ajax return false 无效
- form表单的onsubmit() return问题
- form表单的onsubmit() return问题
- Form表单提交onSubmit return false失效
- 表单提交 onsubmit="return false"
- 关于js 方法,实现ajax请求时,return false/true无效的问题
- onsubmit return false
- 自旋锁
- 小米note开启调试模式
- 欢迎使用CSDN-markdown编辑器
- 给linux移植Ethercat笔记
- RxJavaRxAndroid入门资料 基本方法
- 浅析onsubmit校验表单时利用ajax的return false无效问题
- Codeforces 367E Sereja and Intervals (dp + sqrt)
- 关于前端的一点点感触
- oracle操作
- Rails 3 修改url中默认的的/:id
- linux安装cnn库
- 使用 python 创建最简单的 https 服务器
- PHP生成器、闭包
- 各种排序算法的分析及java实现