1、jquery.form.js下載地址javascript
2、jquery.form.js使用方法以下:html
函數名 | 描述 | 參數 | 例子 | |
---|---|---|---|---|
ajaxForm() | 增長全部須要的事件監聽器,爲ajax提交表單作準備。ajaxForm並不能提交表單。在document的ready函數中,使用ajaxForm來爲ajax提交表單進行準備。 | 單進行準備。接受0個或1個參數。參數能夠是一個回調函數,也能夠是一個Options對象。 | $("#formid").ajaxForm(); | |
ajaxSubmit() | 使用ajax提交表單。 | 接受0個或1個參數。參數能夠是一個回調函數,也能夠是一個Options對象。 | $("#formid").ajaxSubmit(); | |
formSerialize() | 將表單串行化(或序列化)爲一個查詢字符串。這個方法將返回如下格式的字符串:name1=value1&name2=value2。 | 無 | $("#formid").formSerialize(); | |
fieldSerialize() | 將表單的字段元素串行化(或序列化)爲一個查詢字符串。當只有部分表單字段須要進行串行化(或序列化)時,使用這個就很方便了。 返回如下格式的字符串:name=value1&name2=value2。 | 無 | $("#formid").formSerialize(); | |
fieldValue() | 返回匹配插入數組中的表單元素值。該方法以數組的形式返回數據。若是元素值被斷定可能無效,則數組爲空。 | 無 | $("#formid: password").fieldValue(); | |
resetForm() | 將表單恢復到初始狀態。 | 無 | $("#formid").resetForm(); | |
clearForm() | 清除表單元素。該方法將全部的text、password、textarea置空,清除select元素中的選定,以及全部radio按鈕和checkbox按鈕重置爲非選定狀態。 | 無 | $("#formid").clearForm(); | |
clearFields() | 清除字段元素。只有部分表單元素須要清除時方便使用。 | 無 | $("#formid .specialFields").clearFields(); |
3、options對象參數:java
參數 | 描述 | 默認值 | |
---|---|---|---|
target | 指明頁面中由服務器響應進行更新的元素。元素的值可能被指定爲一個 jQuery選擇器字>符串、一個jquery對象、一個DOM元素。 |
默認值:null | |
url | 指定提交表單數據的URL。 | 默認值:表單的action屬性值 | |
type | 指定提交表單數據的方法(method):"GET"或"POST"。 | 默認值:GET | |
beforeSubmit | 表單提交前被調用的回調函數。若是回調函數返回false表單將不被提 交。回調函數帶三個調用參數:數組形式的表單數據,jQuery表單對 象,以及傳入ajaxForm/ajaxSubmit中的Options對象。 |
默認值:null | |
success | 表單成功提交後調用的回調函數。而後dataType選項值決定傳回 responseText仍是responseXML的值。 |
默認值:null | |
dataType | 返回的數據類型:null、"xml"、"script"、"json"其中之一。 | 默認值:null | |
resetForm | 表示若是表單提交成功是否進行重置。 | 默認值:null | |
clearForm | 表示若是表單提交成功是否清除表單數據。 | 默認值:null |
4、例子以下:jquery
demo.html代碼以下:ajax
<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>ajax表單處理</title> </head> <body> 上傳圖片:<input type="file" name="banner" id="banner"/> 預覽圖片:<img src="" id="banner_see"> </body> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="jquery.form.js"></script> <script type="text/javascript"> $('#banner').on('change', function () { if ($("#mbanner").length > 0) { } else { $("#banner").wrap("<form id='mbanner' action='demo.php' method='post' xenctype='multipart/form-data'></form>"); } /*ajax提交*/ $("#mbanner").ajaxSubmit({ dataType: 'json', beforeSend: function () { }, uploadProgress: function (event, position, total, percentComplete) { }, success: function (data) { if (data.result == 'true') { $('#banner_see').attr('src',data.img); } else { $('#banner').val(""); } }, error: function (xhr) { } }); }); </script>
demo.php代碼以下:json
<?php if (file_exists("./" . $_FILES["banner"]["name"])) { $arrRet=array( 'result'=>'false' ); } else { $ret=move_uploaded_file($_FILES["banner"]["tmp_name"],"./" . $_FILES["banner"]["name"]); if($ret){ $arrRet=array( 'result'=>'true', 'img'=> $_FILES["banner"]["name"] ); }else{ $arrRet=array( 'result'=>'false' ); } } echo json_encode($arrRet); ?>
結果以下圖:數組