基于jQuery通過jQuery.form.js插件使用ajax提交form表單
我們在提交表單的時候,如果沒有使用ajax提交,頁面都會自己刷新一下,顯得非常的不友好,所以我們需要把我們的表單提交修改為ajax的模式,可以讓用戶清楚地知道他們在提交表單的時候處在哪一個階段:正在提交?提交成功?
我簡單使用了一下,jQuery Form插件有一下優(yōu)點:
1.支持提交前驗證.
2.支持提交后回調.
3.采用AJAX方式,有很好的用戶體驗
4.提交方式是靈活.只要指定要提交的form ID即可.想提交那個form.就可提交那個.同時提交參數可配置.
5.支持提交多種類型數據.如:xml,json等.
主要的函數:
1.ajaxForm
增加所有需要的事件監(jiān)聽器,為AJAX提交表單做好準備。ajaxForm不能提交表單。在document的ready函數中,使用ajaxForm來為AJAX提交表單進行準備。ajaxForm接受0個或1個參數。這個單個的參數既可以是一個回調函數,也可以是一個Options對象。
實例:
$('#myFormId').ajaxForm();
2.ajaxSubmit
馬上由AJAX來提交表單。大多數情況下,都是調用ajaxSubmit來對用戶提交表單進行響應。ajaxSubmit接受0個或1個參數。這個單個的參數既可以是一個回調函數,也可以是一個Options對象。
實例:
// 綁定表單提交事件處理器
$('#myFormId').submit(function() {
// 提交表單
$(this).ajaxSubmit();
// 為了防止普通瀏覽器進行表單提交和產生頁面導航(<span style="color: #333333;"><a target="_blank"><span style="color: #333333;">防止頁面刷新</span></a></span>?)返回false
return false;
});
3.formSerialize
將表單串行化(或序列化)成一個查詢字符串。這個方法將返回以下格式的字符串:name1=value1&name2=value2。這個方法返回一個字符串。
實例:
var queryString = $('#myFormId').formSerialize();
// 現在可以使用$.get、$.post、$.ajax等來提交數據
$.post('myscript.php', queryString);
4.fieldSerialize
將表單的字段元素串行化(或序列化)成一個查詢字符串。當只有部分表單字段需要進行串行化(或序列化)時,這個就方便了。這個方法將返回以下格式的字符串:name1=value1&name2=value2。這個方法返回一個字符串。
實例:
var queryString = $('#myFormId .specialFields').fieldSerialize();
5.fieldValue
返回匹配插入數組中的表單元素值。從0.91版起,該方法將總是以數組的形式返回數據。如果元素值被判定可能無效,則數組為空,否則它將包含一個或多于一個的元素值。該方法返回數組。
實例:
// 取得密碼輸入值
var value = $('#myFormId :password').fieldValue();
alert('The password is: ' + value[0]);
6.resetForm
通過調用表單元素原有的DOM方法,將表單恢復到初始狀態(tài)。
實例:
$('#myFormId').resetForm();
7.clearForm
清除表單元素。該方法將所有的文本(text)輸入字段、密碼(password)輸入字段和文本區(qū)域(textarea)字段置空,清除任何select元素中的選定,以及將所有的單選(radio)按鈕和多選(checkbox)按鈕重置為非選定狀態(tài)。
實例:
$('#myFormId').clearForm();
8.clearFields
清除字段元素。只有部分表單元素需要清除時才方便使用。
實例:
$('#myFormId .specialFields').clearFields();
jQuery Form插件的簡單示例:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My Jquery</title>
<script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery-1.4.2.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery.form.js"></script>
<script type="text/javascript">
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
// attach handler to form's submit event
$('#myFormId').submit(function() {
// submit the form
$(this).ajaxSubmit();
// return false to prevent normal browser submit and page navigation
return false;
});
</script>
</head>
<body>
<form id="myForm" action="index.jsp" method="post">
Name: <input type="text" name="name" />
Comment:<textarea name="comment"></textarea>
<input type="submit" value="Submit Comment" />
</form>
</body>
</html>
通過本文詳細介紹了jQuery通過jQuery.form.js插件使用ajax提交form表單,希望大家喜歡。
- jquery.form.js實現將form提交轉為ajax方式提交的方法
- jquery.form.js用法之清空form的方法
- 使用jquery.form.js實現圖片上傳的方法
- jQuery插件之jQuery.Form.js用法實例分析(附demo示例源碼)
- 解決3.01版的jquery.form.js中文亂碼問題的解決方法
- 使用jQuery.form.js/springmvc框架實現文件上傳功能
- jquery.form.js框架實現文件上傳功能案例解析(springmvc)
- Struts2+jquery.form.js實現圖片與文件上傳的方法
- 基于jQuery通過jQuery.form.js插件實現異步上傳
- jquery.form.js異步提交表單詳解
相關文章
火狐下table中創(chuàng)建form導致兩個table之間出現空白
js加入form導致兩個table之間出現空白,還有另一種說法在table中創(chuàng)建form表單是不符合DOM標準的,會導致post失效,以及js數據傳輸失效2013-09-09
Bootstrap CSS組件之面包屑導航(breadcrumb)
這篇文章主要為大家詳細介紹了Bootstrap CSS組件之面包屑導航(breadcrumb),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12

