时间:2021-05-18
复制代码 代码如下:
/**
* 表单提交校验
**/
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;
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、设置表单不验证2、表单提交时统一验证$('#ff').form('submit',{onSubmit:function(){return$(this).fo
jqueryformvalidator插件是不错的国产验证插件了,做点普通的校验也是很方便的,但最近遇到个问题,发现如果表单整个表单是AJAX提交时,就不能按传
如果表单是通过onsubmit进行Ajax提交,注意将表单提交按钮inputtype属性设为button,尽量不要设置为submit类型。另外,在提交事件发出后
问题:当使用hide()方法和setvisible(false)方法去除items的中间(见过很多例子移除的都是尾部表单)表单后,原form验证无效解决办法:使
Form表单用法复制代码代码如下:...使form成为ajax提交的form。复制代码代码如下:$('#ff').form({url:...,onSubmit: