用SSH整合servlet项目中的ajax问题:
jquery注册事件,input输入框失去焦点的时候校验,有焦点时取消警告信息,点击提交的时候校验信息:
$(function(){
//document.getElementById("tdLabelId").focus();
$(".labelError").each(function(){
errorShowOrNot($(this));
});
$(".inputText").focus(function(){
var id = $(this).attr("id");
$("#"+id+"Error").hide();
});
$(".inputText").blur(function(){
var id=$(this).attr("id");
var func="verify"+id+"()";
if($(this).val()==null||""==($(this).val())){
}else{
eval(func);
}
});
$("#registform").submit(function(){
if(!verifyloginname()){
return false;
}
if(!verifyloginpass()){
return false;
}
if(!verifysureloginpass()){
return false;
}
if(!verifyemail()){
return false;
}
if(!verifyverifyCode()){
return false;
}
return true;
});
});
function errorShowOrNot(ele){
var text = ele.text();
//var text=ele.val();
if(text){
ele.show();
}else{
ele.hide();
}
}
1,坑点一:
@Action("ajaxValidateDivVerifyCode")
public void ajaxValidateDivVerifyCode(){
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
try {
if (divVerifyCode==null) {
response.getWriter().write(false+"");
return ;
}else if (divVerifyCode.equalsIgnoreCase((String) request.getSession().getAttribute("vCode"))) {
response.getWriter().write(true+"");
return ;
}
response.getWriter().write(false+"");
} catch (Exception e) {
e.printStackTrace();
}
return ;
}
在action中不要有返回值,或者返回值为null,否则每次刷新不会得到警告信息。
2.坑点二:
//校验验证码
function verifyVerifyCode(){
var id="VerifyCode";
var value=$("#"+id).val();
//alert(value);
if(value==null){
$("#"+id+"Error").text("验证码不能为空");
errorShowOrNot($("#"+id+"Error"));
return false;
}else if(value.length!=4){
$("#"+id+"Error").text("验证码错误");
errorShowOrNot($("#"+id+"Error"));
return false;
}else{
$.ajax({
url:getContextPath()+"/user/ajaxValidateDivVerifyCode.action",
data:{divVerifyCode:value},
type:"post",
datatype:"json",
success:function(result){
alert(result);
if(result=="false"){
alert(1111);
$("#"+id+"Error").text("验证码错误aa");
errorShowOrNot($("#"+id+"Error"));
return false;
}用
}
});
}
return true;
}
jquery中的ajax,
success:function(result){
alert(result);
if(result=="false"){
alert(1111);
$("#"+id+"Error").text("验证码错误aa");
errorShowOrNot($("#"+id+"Error"));
return false;
}
这里的result=“false”我之前写成!result做判断一直有问题,我自己碰到的问题就是这么两个了。