最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

浅析onsubmit校验表单时利用ajax的returnfalse无效问题_jquery

来源:动视网 责编:小采 时间:2020-11-27 21:11:54
文档

浅析onsubmit校验表单时利用ajax的returnfalse无效问题_jquery

浅析onsubmit校验表单时利用ajax的returnfalse无效问题_jquery: 代码如下:/** * 表单提交校验 **/function onSubmit(){ if($('#name').val().length alert(名称请不少于两个汉字); return false; } var t = new Date().getTime(); $.ajax({ type: POST, url: /use
推荐度:
导读浅析onsubmit校验表单时利用ajax的returnfalse无效问题_jquery: 代码如下:/** * 表单提交校验 **/function onSubmit(){ if($('#name').val().length alert(名称请不少于两个汉字); return false; } var t = new Date().getTime(); $.ajax({ type: POST, url: /use


代码如下:
/**
* 表单提交校验
**/
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;

文档

浅析onsubmit校验表单时利用ajax的returnfalse无效问题_jquery

浅析onsubmit校验表单时利用ajax的returnfalse无效问题_jquery: 代码如下:/** * 表单提交校验 **/function onSubmit(){ if($('#name').val().length alert(名称请不少于两个汉字); return false; } var t = new Date().getTime(); $.ajax({ type: POST, url: /use
推荐度:
标签: 表单 ajax jQuery
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top