jsp页面中ajax??????

我在jsp页面中写ajax有一个validate()方法,在页面提交的时候有一个submit()方法,我是这样写的submit(){validate();........... 我在jsp页面中写ajax 有一个validate()方法,在页面提交的时候有一个submit()方法,我是这样写的
submit(){
validate();
............... }
请问这样可以吗?我的为什么没有通过validate方法?
事实上我在别的地方调用了validate方法,但是即便的到的反馈信息是错的(我用validate验证一些输入),页面依然可以提交,所以我想在提交的时候再调用一次。为什么不能呢?

怎么才能在验证错误时阻止提交呢?
展开
 我来答
枫吣
2012-12-07 · TA获得超过190个赞
知道答主
回答量:50
采纳率:100%
帮助的人:64.7万
展开全部
若你的代码逻辑是如下:
submit(){
validate();//该处是ajax验证
//后续代码
............... }
这样写ajax验证是无法阻止提交的,因为validate()中ajax发送请求后不会影响validate后面的执行,程序还会继续往后执行,使用ajax来实现异步验证,对于是否验证通过要通过ajax发送请求后返回的数据来判断,那么你的后续代码也应该如此,还有要阻止提交那么方法必须要反回true或false。
例如:
function submit(){
......
//发送请求
xmlHttp.open("GET",URL,true);
xmlHttp.send(null);
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var check = req.responseText; //一部验证返回的结果
if(根据返回的结果判断验证通过){
//验证通过 执行后续代码
......

return true;
}else{
return false;
}
}
}

页面中的调用:
<form aciton="" onsubmit="return submit();">
</form>
fantasy_wl
2012-12-06 · TA获得超过904个赞
知道小有建树答主
回答量:1287
采纳率:100%
帮助的人:1355万
展开全部
validate插件是通过表单元素调用,比如:
$(form).validate();
validate插件提供了提交方法:
$(form).validate({
submitHandler:function(form) {
$(form).ajax({
url : '',

type: '',

....

});
}
});
更多追问追答
追问
我没有用插件,就是简单的方法调方法,怎么就不行呢?另外,如果是alert();的话时阻断了的吧,但是如果document.getElementById().innerHtml什么的就不阻断,有方法让它阻断吗?
追答
阻止表单提交返回return false就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式