您的位置:首页 > 编程语言 > Java开发

form表单只提交数据,不跳转,在struts2中的应用

2016-05-06 19:13 344 查看
当然了,说到只提交数据不跳转,大家首先想到的一定是ajax,但这是我以前写的一个项目,里面好些代码要换成ajax的话有些麻烦....

网上搜了一圈,度娘提供的方法几乎都是一样的,基本上好多篇博客都是转载下面的方法,当然了,经过测试,下面的代码是可行的,但还有一个需要注意的地方需要说一下:

就是所指向的这个action 一定不要ruturn NONE!其实准确的说也不是不能ruturn NONE,一开始return NONE就是希望页面不跳转,但怎么搞它都会跳到一个空白页,这里我没有为NONE指定一个所跳转的页面,SUCCESS指定它跳向原来的页面的,而下面所提供的方法是需要你必须跳向一个页面的,所以...你随便给你的action指定一个跳转页面就可以了!

—————————————————————大家都复制粘贴的方法如下—————————————————————————-

一般的form提交操作写法为

Html代码  


<form action="saveReport.htm" method="post">  

    ……  

    <input type="submit" value="保存报告"/>  

</form>  

点击submit按钮或直接回车可以将数据提交到saveReport页面,但是提交后也会跳转到saveReport页面

 

如何做到

将数据提交到saveReport(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢??

这种需要在load一个页面的时候尤其迫切。

利用jquery的ajaxSubmit函数以及form的onsubmit函数完成,如下:

Html代码  


<form id="saveReportForm" action="saveReport.htm" method="post" onsubmit="return saveReport();">  

    <input type="submit" value="保存报告"/>  

</form>  

form增加一个id用于在jquery中调用,增加一个onsubmit函数用于submit前自己提交表单

 

saveReport对应函数为

Java代码  


function saveReport() {  

    // jquery 表单提交  

    $("#showDataForm").ajaxSubmit(function(message) {  

          // 对于表单提交成功后处理,message为提交页面saveReport.htm的返回内容  

       });  

      

    return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转  

}  

—————————————————————结束—————————————————————————-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: