jQuery ajaxSubmit 實(shí)現(xiàn)ajax提交表單局部刷新
AJAX簡介
AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。
AJAX 不是新的編程語言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。
AJAX 是與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術(shù),在不重新加載整個(gè)頁面的情況下。
需要引入 : jquery-form.js
使用說明:
Java代碼
$(document).ready(function() { var options = { target: '#mydiv', // 需要刷新的區(qū)域 //beforeSubmit: showRequest, // 提交前調(diào)用的方法 //success: showResponse // 返回后笤俑的方法 // other available options: //url: url // 提交的URL, 默認(rèn)使用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; }); });
調(diào)用前后方法:
Java代碼
// 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.'); }
項(xiàng)目中可以寫一個(gè)公用的方法:
Java代碼
// 局部提交表單 function formSubmit(formId, divId, url) { $('#' + formId).submit(function() { $(this).ajaxSubmit( { target : '#' + divId, url : url, error : function() { alert('加載頁面' + url + '時(shí)出錯(cuò)!') } }); return false; }); }
=====================================================================
事例 刷新TABLE:
1.把TABLE單獨(dú)放一個(gè)JSP,主頁面 include TABLE頁面。
2.主頁面:
Java代碼
window.onload=function (){ //AJAX 提交FORM刷新TABLE $('#queryForm').submit(function() { $(this).ajaxSubmit( { target : '#table1' }); return false; }); }
點(diǎn)擊查詢按鈕 提交FORM。
3.JAVA:FORM提交調(diào)用的方法和 普通的ACTION寫法一樣, STRUTS里配置該ACTION跳轉(zhuǎn)到 那個(gè)單獨(dú)的TABLE JSP頁面,返回成功后,就會(huì)看到刷新了TABLE。
Java代碼
/** * AJAX匯總查詢 未公開知情人列表 * 部門合規(guī)風(fēng)控專員 匯總查詢 */ public String ajaxgatherinsiderlist() { //相關(guān)業(yè)務(wù)數(shù)據(jù)查詢 return SUCCESS; }
以上所述是小編給大家介紹的jQuery ajaxSubmit 實(shí)現(xiàn)ajax提交表單局部刷新 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
jQuery實(shí)現(xiàn)的彈幕效果完整實(shí)例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的彈幕效果,結(jié)合完整實(shí)例形式分析了jQuery通過結(jié)合時(shí)間函數(shù)控制輸入文字與樣式的漸變實(shí)現(xiàn)彈幕效果,需要的朋友可以參考下2017-09-09EasyUI的treegrid組件動(dòng)態(tài)加載數(shù)據(jù)問題的解決辦法
最近涉及到treegrid組件的查詢,需要根據(jù)查詢條件動(dòng)態(tài)更新EasyUI的treegrid組件的動(dòng)態(tài)加載查詢結(jié)果2011-12-12jquery popupDialog 使用 加載jsp頁面的方法
下面小編就為大家?guī)硪黄猨query popupDialog 使用 加載jsp頁面的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10jQuery+PHP+Mysql實(shí)現(xiàn)抽獎(jiǎng)程序
這篇文章主要為大家詳細(xì)介紹了jQuery+PHP+Mysql實(shí)現(xiàn)抽獎(jiǎng)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05jquery.pagination.js 無刷新分頁實(shí)現(xiàn)步驟分享
jquery.pagination.js 無刷新分頁實(shí)現(xiàn)步驟分享,需要的朋友可以參考下2012-05-05