求js,jquery高手帮我完成表单验证,验证码错误,后台返回3,ajax中的data=3,如果为3表单不提交并弹出对话

$(document).ready(function() {
$('form').submit(function() {
//var bool = false;
var d = "";
var nameText = $('#name').val();
var pwdText = $('#pwd').val();
var imgText = $('#imgtext').val();
if (nameText == "") {
alert("请输入用户名");
$('#name').focus();
return false;
} else if (pwdText == "") {
alert("请输入密码");
$('#pwd').focus();
return false;
} else if (imgText == "") {
alert("请输入验证码");
$('#imgtext').focus();
return false;
}
$.post("../validateCodeImage", {
img : imgText
}, function(data, textStatus) {
$("#msg").hide();
$("#msg").html(data);
if (data == 3) {
alert("请输入正确的验证码");
}
return false;
}, "json");
if ($("#msg").val() == "") {
alert($("#msg").val());
return true;
} else {
alert($("#msg").val());
return false;
}
});
});

<form action="../userLoginServlet" method="post">
<ul id="deng">
<li>
用户名:  
<input type="text" name="u_name" size="13" id="name">
</li>
<li>
密   码:  
<input type="password" name="u_password" size="13" id="pwd">
</li>
<li>
验证码:  
<input type="text" name="u_whereat" size="7" id="imgtext" />
<img src="../validateImage" border="0" onclick="changeImg()"
alt="请输入此验证码,如看不清请点击刷新。" style="cursor: pointer" id="image" />
<span id="msg"></span>
</li>
<li>
<input type="submit" name="submit" id="login" value="登陆">
 
<input type="button" name="submit" id="regist" value="注册"
onclick="javascript:window.location='jsp/register.jsp'">
</li>

</ul>
</form>
还有点问题,验证码正确了,表单没有提交

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" src="/js/jquery-1.4.4.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('form').submit(function() {
if ($("#msg").val() == "") {
alert($("#msg").val());
return true;
} else {
alert($("#msg").val());
return false;
}
});

$("#login").click(function(){
//var bool = false;
var d = "";
var nameText = $('#name').val();
var pwdText = $('#pwd').val();
var imgText = $('#imgtext').val();
if (nameText == "") {
alert("请输入用户名");
$('#name').focus();
return false;
}
else if (pwdText == "") {
alert("请输入密码");
$('#pwd').focus();
return false;
}
else if (imgText == "") {
alert("请输入验证码");
$('#imgtext').focus();
return false;
}

$.post("../validateCodeImage",
{
img : imgText
},
function(data, textStatus) {
$("#msg").hide();
$("#msg").html(data);
if (data == 3) {
alert("请输入正确的验证码");
}
else{
$('form').submit();
}
},
"json"
);
});
});

</script>
</head>

<body>
<form action="../userLoginServlet" method="post">
<ul id="deng">
<li>
用户名:
<input type="text" name="u_name" size="13" id="name">
</li>
<li>
密 码:
<input type="password" name="u_password" size="13" id="pwd">
</li>
<li>
验证码:
<input type="text" name="u_whereat" size="7" id="imgtext" />
<img src="../validateImage" border="0" onclick="changeImg()"
alt="请输入此验证码,如看不清请点击刷新。" style="cursor: pointer" id="image" />
<span id="msg"></span>
</li>
<li>
<input type="button" name="login" id="login" value="登陆">
<input type="button" name="regist" id="regist" value="注册"
onclick="javascript:window.location='jsp/register.jsp'">
</li>

</ul>
</form>
</body>
</html>

没提交?是不是做了什么改动?或者不返回3的时候data返回的是什么?现在是只有$("#msg").val() == "" 才可以提交,看看$("#msg").html(data);时是什么内容
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-02
用户名哪里最好也用 ajax认证一下是否有重复的的 你对话框跳的太多了 对用户不友好本回答被网友采纳