Form表单只提交field的值,而不进行页面跳转

根据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,否则表单会自己再做一次提交操作,并且页面跳转
}
原文地址:https://www.cnblogs.com/luckyliu/p/2403159.html