难点:无法从AJAX里返回true或false
技巧:实现提交功能或@R_590_404@面可并非一定需要使用到onclick="return ajaxFun()”方法来判断是否该执行,我们可以在JS代码里实现判断,并决定是否要进行提交或@R_590_404@面的功能
解决方案:在form中设置onSubmit=return false;然后通过js调用document.form.submit()方法提交页面
Example:
JSP代码:
<s:form action="myAction.action" theme="simple" name='Mform' onsubmit="return false;"><-- 设置onsubmit,我设置了name=”Mform” -->
<s:submit value="提交" onclick="return myAjax();" ></s:submit><!-- 在提交按钮添加点击事件 -->
JS代码:
function myAjax(){
$.ajax({
......
url: "myAjax.action",//选择Action
......
success: function(data) {
myFun(data); //将参数传递到定义处理的函数中去
}
......
});
}
functionmyFun(data){
if(data=="success"){
document.Mform.submit();//注意:Mfrom是我给fomr设置的name属性,使用这个方法就可以提交Action了,使用location=”url”可以@R_590_404@面
}elseif(data="error"){
returnfalse;//其实这个false有无作用影响不大- -!习惯
}
}
//使用HTML标签代替Struts标签影响应该不大,即<input type=”button” />或<input type=”submit”/>代替<s:submit/>应该也可以实现上述功能
原文链接:https://www.f2er.com/ajax/166051.html