Ajax 验证码问题 验证码通过ajax已经经过后台验证完毕,当验证码错误时提交也会成功,怎么解决?

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><htmlxmlns="http://ww... <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>后台登录</title>
<script type="text/javascript" src="../js/jquery-1.2.1.js"></script>
<script type="text/javascript">
initPage();

function login(){
var username=document.getElementById('usernameid').value;
var password=document.getElementById('passwordid').value;
var rand=document.getElementById('randid').value;
if(document.getElementById('usernameid').value==''){
alert('用户名不能为空');
return false;
}
if(document.getElementById('randid').value==''){
alert('验证码不能为空');
return false;
}

var pars='rand='+document.getElementById('randid').value;
var url='./checkrandUserAction.action';
$.ajax({ url:url, //数据请求页面的url
type:"post", //数据传递方式(get或post)
dataType:"json", //期待数据返回的数据格式(例如 "xml", "html", "script",或 "json")
//timeout:1000, //设置时间延迟请求的时间
data:pars,

success:function(json)//当请求成功时触发函数
{
var obj=json.message;
if(obj==0){

alert('验证码错误');

return false;
}
else{
alert('验证码正确');

}
}

})
}
function show(id){
var pic=document.getElementById('pic');
if(id==1){
pic.src="image.jsp";
}
}
</script>
</head>
<body>
<form action="loginUserAction.action" method="post" name="form" id="form" onSubmit="return login();" >

用户名:<input name="username" type="text" id="usernameid" size="19" maxlength="20"" ><br>

密码:<input name="password" type="password" id="passwordid" size="21" maxlength="20" ><br>

验证码: <input type="text" name="rand" id="randid" maxlength=4 value="" size="9" onblur=login()>
<a href="###" onclick="show(this.id);" id="1" >
<img border=0 src="image.jsp" id="pic" ></a>
<input type="submit" style="height:22pt;width:35pt" value="登录" />
<input type="reset" style="height:22pt;width:35pt"value="重置"/>
</form></body></html>
展开
 我来答
庚君之VW
2009-09-22 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:130万
展开全部
<input type="submit" style="height:22pt;width:35pt" value="登录" />
类型用type="button",给个onclick="ajax的方法",验证成功就在
success:function(json)//当请求成功时触发函数
{
var obj=json.message;
if(obj==0){

alert('验证码错误');

return false;
}
else{
alert('验证码正确');
document.form.submit();//加上表单提交
}
fylsh
2009-09-22 · TA获得超过950个赞
知道小有建树答主
回答量:1472
采纳率:0%
帮助的人:1056万
展开全部
当验证码错误时看你ajax返回的结果是否是0,如果是的话在login方法中加入return false试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式