form表单只提交值,而不进行页面跳转

一般的form提交操作写法为
<div id="">
<div>
<div>Html代码 <object width="14" height="15" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://trinea.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" /><param name="wmode" value="transparent" /><param name="flashvars" value="clipboard=%3Cform%20action%3D%22saveReport.htm%22%20method%3D%22post%22%3E%0A%09%E2%80%A6%E2%80%A6%0A%09%3Cinput%20type%3D%22submit%22%20value%3D%22%E4%BF%9D%E5%AD%98%E6%8A%A5%E5%91%8A%22%2F%3E%0A%3C%2Fform%3E" /><param name="quality" value="high" /><param name="allowscriptaccess" value="always" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><embed width="14" height="15" type="application/x-shockwave-flash" src="http://trinea.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" wmode="transparent" flashvars="clipboard=%3Cform%20action%3D%22saveReport.htm%22%20method%3D%22post%22%3E%0A%09%E2%80%A6%E2%80%A6%0A%09%3Cinput%20type%3D%22submit%22%20value%3D%22%E4%BF%9D%E5%AD%98%E6%8A%A5%E5%91%8A%22%2F%3E%0A%3C%2Fform%3E" quality="high" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object> <a title="收藏这段代码"><img alt="收藏代码" src="http://trinea.iteye.com/images/icon_star.png" /></a></div>
</div>
<ol start="1">
<li>&lt;form action="saveReport.htm" method="post"&gt;</li>
<li>    ……</li>
<li>    &lt;input type="submit" value="保存报告"/&gt;</li>
<li>&lt;/form&gt;</li>
</ol>
</div>
点击submit按钮或直接回车可以将数据提交到saveReport页面,但是提交后也会跳转到saveReport页面

&nbsp;

如何做到

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

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

<strong>利用jquery的ajaxSubmit函数以及form的onsubmit函数完成</strong>,如下:
<div id="">
<div>
<div>Html代码 <object width="14" height="15" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://trinea.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" /><param name="wmode" value="transparent" /><param name="flashvars" value="clipboard=%3Cform%20id%3D%22saveReportForm%22%20action%3D%22saveReport.htm%22%20method%3D%22post%22%20onsubmit%3D%22return%20saveReport()%3B%22%3E%0A%09%3Cinput%20type%3D%22submit%22%20value%3D%22%E4%BF%9D%E5%AD%98%E6%8A%A5%E5%91%8A%22%2F%3E%0A%3C%2Fform%3E" /><param name="quality" value="high" /><param name="allowscriptaccess" value="always" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><embed width="14" height="15" type="application/x-shockwave-flash" src="http://trinea.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" wmode="transparent" flashvars="clipboard=%3Cform%20id%3D%22saveReportForm%22%20action%3D%22saveReport.htm%22%20method%3D%22post%22%20onsubmit%3D%22return%20saveReport()%3B%22%3E%0A%09%3Cinput%20type%3D%22submit%22%20value%3D%22%E4%BF%9D%E5%AD%98%E6%8A%A5%E5%91%8A%22%2F%3E%0A%3C%2Fform%3E" quality="high" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object> <a title="收藏这段代码"><img alt="收藏代码" src="http://trinea.iteye.com/images/icon_star.png" /></a></div>
</div>
<ol start="1">
<li>&lt;form id="saveReportForm" action="saveReport.htm" method="post" onsubmit="return saveReport();"&gt;</li>
<li>    &lt;input type="submit" value="保存报告"/&gt;</li>
<li>&lt;/form&gt;</li>
</ol>
</div>
form增加一个id用于在jquery中调用,增加一个onsubmit函数用于submit前自己提交表单

&nbsp;

saveReport对应函数为
<div id="">
<div>
<div>Java代码 <object width="14" height="15" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://trinea.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" /><param name="wmode" value="transparent" /><param name="flashvars" value="clipboard=function%20saveReport()%20%7B%0A%09%2F%2F%20jquery%20%E8%A1%A8%E5%8D%95%E6%8F%90%E4%BA%A4%0A%09%24(%22%23showDataForm%22).ajaxSubmit(function(message)%20%7B%0A%09%20%20%20%20%20%20%2F%2F%20%E5%AF%B9%E4%BA%8E%E8%A1%A8%E5%8D%95%E6%8F%90%E4%BA%A4%E6%88%90%E5%8A%9F%E5%90%8E%E5%A4%84%E7%90%86%EF%BC%8Cmessage%E4%B8%BA%E6%8F%90%E4%BA%A4%E9%A1%B5%E9%9D%A2saveReport.htm%E7%9A%84%E8%BF%94%E5%9B%9E%E5%86%85%E5%AE%B9%0A%09%20%20%20%7D)%3B%0A%09%0A%09return%20false%3B%20%2F%2F%20%E5%BF%85%E9%A1%BB%E8%BF%94%E5%9B%9Efalse%EF%BC%8C%E5%90%A6%E5%88%99%E8%A1%A8%E5%8D%95%E4%BC%9A%E8%87%AA%E5%B7%B1%E5%86%8D%E5%81%9A%E4%B8%80%E6%AC%A1%E6%8F%90%E4%BA%A4%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%B9%B6%E4%B8%94%E9%A1%B5%E9%9D%A2%E8%B7%B3%E8%BD%AC%0A%7D" /><param name="quality" value="high" /><param name="allowscriptaccess" value="always" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><embed width="14" height="15" type="application/x-shockwave-flash" src="http://trinea.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" wmode="transparent" flashvars="clipboard=function%20saveReport()%20%7B%0A%09%2F%2F%20jquery%20%E8%A1%A8%E5%8D%95%E6%8F%90%E4%BA%A4%0A%09%24(%22%23showDataForm%22).ajaxSubmit(function(message)%20%7B%0A%09%20%20%20%20%20%20%2F%2F%20%E5%AF%B9%E4%BA%8E%E8%A1%A8%E5%8D%95%E6%8F%90%E4%BA%A4%E6%88%90%E5%8A%9F%E5%90%8E%E5%A4%84%E7%90%86%EF%BC%8Cmessage%E4%B8%BA%E6%8F%90%E4%BA%A4%E9%A1%B5%E9%9D%A2saveReport.htm%E7%9A%84%E8%BF%94%E5%9B%9E%E5%86%85%E5%AE%B9%0A%09%20%20%20%7D)%3B%0A%09%0A%09return%20false%3B%20%2F%2F%20%E5%BF%85%E9%A1%BB%E8%BF%94%E5%9B%9Efalse%EF%BC%8C%E5%90%A6%E5%88%99%E8%A1%A8%E5%8D%95%E4%BC%9A%E8%87%AA%E5%B7%B1%E5%86%8D%E5%81%9A%E4%B8%80%E6%AC%A1%E6%8F%90%E4%BA%A4%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%B9%B6%E4%B8%94%E9%A1%B5%E9%9D%A2%E8%B7%B3%E8%BD%AC%0A%7D" quality="high" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object> <a title="收藏这段代码"><img alt="收藏代码" src="http://trinea.iteye.com/images/icon_star.png" /></a></div>
</div>
<ol start="1">
<li>function saveReport() {</li>
<li>    // jquery 表单提交</li>
<li>    $("#showDataForm").ajaxSubmit(function(message) {</li>
<li>          // 对于表单提交成功后处理,message为提交页面saveReport.htm的返回内容</li>
<li>       });</li>
<li></li>
<li>    return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转</li>
<li>}</li>
</ol>
</div>
上述js已经进行注释<img alt="" src="http://trinea.iteye.com/images/smiles/icon_arrow.gif" />

posted @ 2013-06-30 01:07  山顶的鱼  阅读(462)  评论(0编辑  收藏  举报