jQuery ajaxSubmit可以实现AJAX提交表单 局部刷新页面DIV (可以实现刷新JSP TABLE 哦!)
需要引入 : jquery-form.js
使用说明:
$(document).ready(function() {
var options = {
target: '#mydiv', // 需要刷新的区域
//beforeSubmit: showRequest, // 提交前调用的方法
//success: showResponse // 返回后笤俑的方法
// other available options:
//url: url // 提交的URL, 默认使用FORM ACTION
//type: type // 'get' or 'post', override for form's 'method' attribute
//dataType: null // 'xml', 'script', or 'json' (expected server response type)
//clearForm: true // 是否清空form
//resetForm: true // 是否重置form
// $.ajax options can be used here too, for example:
//timeout: 3000
};
// 绑定FORM提交事件
$('#myForm').submit(function() {
$(this).ajaxSubmit(options);
// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
});
调用前后方法:
// pre-submit callback
function showRequest(formData, jqForm, options) {
// formData is an array; here we use $.param to convert it to a string to display it
// but the form plugin does this for you automatically when it submits the data
var queryString = $.param(formData);
// jqForm is a jQuery object encapsulating the form element. To access the
// DOM element for the form do this:
// var formElement = jqForm[0];
alert('About to submit: \n\n' + queryString);
// here we could return false to prevent the form from being submitted;
// returning anything other than false will allow the form submit to continue
return true;
}
// post-submit callback
function showResponse(responseText, statusText) {
// for normal html responses, the first argument to the success callback
// is the XMLHttpRequest object's responseText property
// if the ajaxSubmit method was passed an Options Object with the dataType
// property set to 'xml' then the first argument to the success callback
// is the XMLHttpRequest object's responseXML property
// if the ajaxSubmit method was passed an Options Object with the dataType
// property set to 'json' then the first argument to the success callback
// is the json data object returned by the server
alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
'\n\nThe output div should have already been updated with the responseText.');
}
项目中可以写一个公用的方法:
// 局部提交表单
function formSubmit(formId, divId, url) {
$('#' + formId).submit(function() {
$(this).ajaxSubmit( {
target : '#' + divId,
url : url,
error : function() {
alert('加载页面' + url + '时出错!')
}
});
return false;
});
}
=====================================================================
事例 刷新TABLE:
1.把TABLE单独放一个JSP,主页面 include TABLE页面。
2.主页面:
window.οnlοad=function (){
//AJAX 提交FORM刷新TABLE
$('#queryForm').submit(function() {
$(this).ajaxSubmit( {
target : '#table1'
});
return false;
});
}
点击查询按钮 提交FORM。
3.JAVA:FORM提交调用的方法和 普通的ACTION写法一样, STRUTS里配置该ACTION跳转到 那个单独的TABLE JSP页面,返回成功后,就会看到刷新了TABLE。
/**
* AJAX汇总查询 未公开知情人列表
* 部门合规风控专员 汇总查询
*/
public String ajaxgatherinsiderlist() {
//相关业务数据查询
return SUCCESS;
}