天天看点

提交表单 form submit 不跳转实现

第一种方式

$(function() {
$("form").submit(function() {return false();}); // 禁用 form 提交,页面不会跳转
$("form input[type='submit']").click(function(){
    var url = $('form').attr('action'); // 取Form中要提交的链接
    var param = {}; // 组装发送参数,下面只是举个例,请按需要修改
    param['name']  = $('form input[name=name]').val();
    param['age'] = $('form input[name=age]').val();
    ……
    $.post(url, param, function(dom) {  // 用POST方法提交,如为GET方法则改为$.get
       $('div.get').html(dom);  // 显示返回内容至class为.get的DIV,可改为你自己的处理方法
    }) ;  
}); 
});      

第二种方式:

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

如何做到 

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

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

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

复制代码代码如下:

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

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

</form> 

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

saveReport对应函数为 

复制代码代码如下:

function saveReport() { 

// jquery 表单提交 

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

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

}); 

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