+ -
当前位置:首页 → 问答吧 → JQuery ajax表单不能提交的问题

JQuery ajax表单不能提交的问题

时间:2011-05-15

来源:互联网

/*JQuery-ajax异步验证用户名是否能注册*/
function checkForm() {
var f = false;
var reg_num = /^[ ]+$/;
var reg = /^\w{4,16}$/;//字母或数字或下划线
//校验注册信息格式和不能为空
var username = $("#username").val();
if (reg_num.test(username) || username.length == 0) {
$("#msg").html("用户名不能为空!");
alert(1)
return f;
} else if (!reg.test(username)) {
$("#msg").html("用户名只能是4-16位下划线、字母或数字!");
alert(2)
return f;
} else {
$(function() {
$.ajax( {
url : 'checkAccount.action',
type : 'post',
dataType : 'json',
data : {
username : $('#username').attr('value')
},
success : successCheck
})//with ajax

function successCheck(data) {
if (data.b == true) {
alert(3)
f = true;
$("#msg").html("用户名可以注册!");
} else {
alert(4)
f = false;
$("#msg").html("用户名已被注册!");
}//with if
}
})//with function
alert(f);
return f;
}//with else
}

function checkPassword() {
var reg_num = /^[ ]+$/;
var reg = /^[A-Za-z0-9]{4,16}$/;//字母或数字
var password = $("#password").val();
if (reg_num.test(password) || password.length == 0) {
$("#msg2").html("密码不能为空!");
return false;
} else if (!reg.test(password)) {
$("#msg2").html("密码只能是4-16位字母或数字!");
return false;
} else {
$("#msg2").html("");
return true;
}
}

function check() {
if (checkForm() && checkPassword()) {
alert(3);
registerForm.next.disabled = true;
registerForm.submit();
} else {
alert(4);
return false;
}
}

为了测试 我中间加了些alert()
其中能直到alert(3) 就是下面的t=true不能过去 $("#msg").html("用户名可以注册!");也能显示 可能最后表单提交的时候就是没有反映,打印alert(checkForm())老是false,求高手帮忙解决怎么样才能让表单提交,谢谢!(只有能注册才能提交)

作者: ztyjr888   发布时间: 2011-05-15

JScript code
success : successCheck(data)

作者: T5500   发布时间: 2011-05-15

引用 1 楼 t5500 的回复:

JScript code
success : successCheck(data)

success:后是函数名 ,我的函数在下面好吧

作者: ztyjr888   发布时间: 2011-05-15