根据html规范,一般的form写法如下:
<form action="operation.htm" method="post"> …… <input type="submit" value="保存报告"/> </form>
点击submit按钮或直接回车可以将数据提交到operation.htm页面,但是submit后页面也会跳转到operation.htm页面。
如何做到:将数据提交到operation.htm(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢??
这种需求一般是在需要异步提交的时候出现。
利用jquery的ajaxSubmit函数以及form的onsubmit函数完成,如下:
<form id="submitForm" action="operation.htm" method="post" onsubmit="return operate();"> <input type="submit" value="保存"/> </form>
form增加一个id用于在jquery中调用,增加一个onsubmit函数用于submit前自己提交表单
operate对应函数为
function operate() { // jquery 表单提交 $("#submitForm").ajaxSubmit(function(message) { // 对于表单提交成功后处理,message为提交页面operation.htm的返回内容 }); return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转 }