难点:无法从AJAX里返回true或false
技巧:实现提交功能或跳转页面可并非一定需要使用到onclick="return ajaxFun()”方法来判断是否该执行,我们可以在JS代码里实现判断,并决定是否要进行提交或跳转页面的功能
解决方案:在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”可以跳转页面
}elseif(data="error"){
returnfalse;//其实这个false有无作用影响不大- -!习惯
}
}
//使用HTML标签代替Struts标签影响应该不大,即<input type=”button” />或<input type=”submit”/>代替<s:submit/>应该也可以实现上述功能
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。