剛剛學習中,使用到了ajaxSubmit,猶豫以前沒有接觸㢧這個,所以剛開始是一臉懵逼狀態,最后通過查找資料的方式,解決了這個問題這個很興奮,做到了頁面的無刷新上傳圖片,送給看我博客園的朋友一句話:“山高人為峰,努力定成功!”
下面我對ajaxSubmit做一下總結:
1.jQuery引入進去;
2.網上下載jQuery Form插件;
(這里對form插件做一下介紹,因為剛開始做前端的人不一定能懂,
jQuery Form插件是一個優秀的Ajax表單插件,可以非常容易地、無侵入地升級HTML表單以支持Ajax。jQuery Form有兩個核心方法 -- ajaxForm() 和 ajaxSubmit(), 它們集合了從控制表單元素到決定如何管理提交進程的功能。另外,插件還包括其他的一些方法: formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等。
下載地址: http://malsup.com/jquery/form/#download
核心方法 -- ajaxForm() 和 ajaxSubmit()
)
3.首先說用法,ajaxForm和ajaxSubmit都可以接收0或1個參數,該參數可以是一個變量、一個對象或回調函數,這個對象主要有以下參數:
var object= {      url:url,      //form提交數據的地址       type:type,    //form提交的方式(method:post/get)       target:target,  //服務器返回的響應數據顯示的元素(Id)號      beforeSerialize:function(){} //序列化提交數據之前的回調函數       beforeSubmit:function(){},  //提交前執行的回調函數       success:function(){},     //提交成功后執行的回調函數      error:function(){},    //提交失敗執行的函數       dataType:null,       //服務器返回數據類型       clearForm:true,       //提交成功后是否清空表單中的字段值       restForm:true,       //提交成功后是否重置表單中的字段值,即恢復到頁面加載時的狀態       timeout:6000         //設置請求時間,超過該時間后,自動退出請求,單位(毫秒)。  }<!DOCTYPE html><html><head> <title>權限信息展示 </title> <link href="~/Content/JqueryEasyUi/themes/default/easyui.css" rel="external nofollow" rel="stylesheet" /> <link href="~/Content/JqueryEasyUi/themes/icon.css" rel="external nofollow" rel="stylesheet" /> <script src="~/Content/JqueryEasyUi/jquery-1.8.3.min.js"></script> <script src="~/Scripts/myjqueryform.js"></script>//這里引入 <script src="~/Content/JqueryEasyUi/jquery.easyui.min.js"></script> <script src="~/Content/JqueryEasyUi/locale/easyui-lang-zh_CN.js"></script> <script src="~/Scripts/datapattern.js"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script> <script type="text/javascript">  $(function () {   //綁定異步上傳圖片   bindUpLoad();  });  //綁定異步上傳圖片  function bindUpLoad() {   alert("aaaaa");   $("#btnUpLoadFile").click(function () {    alert("bbbbb");    $("#AddDiglogDiv form").ajaxSubmit({     url: '/ActionInfo/UploadImg',     type: "Post",     success: function (data) {      alert("ccccc");      //將返回的數據加載到隱藏域      $("#IconImg").val(data);      $("#ShowImgDiv").html("<img src='" + data + "' style='width:100px; height:80px'/>");     }    });   });  }HTML代碼是這樣的:
<body> <!-------------添加對話框 start---------------------> <div id="AddDiglogDiv">  @using (Ajax.BeginForm("AddActionInfo", "ActionInfo", new AjaxOptions() { OnSuccess = "afterAdd" }))  {   <table>    <tr>     <td>權 限 名:</td>     <td>      <input type="text" name="ActionName" /></td>    </tr>    <tr>     <td>Url:</td>     <td>      <input type="text" name="Url" /></td>    </tr>    <tr>     <td>Http方法類型:</td>     <td>      <select name="HttpMethod">       <option value="GET">GET</option>       <option value="POST">POST</option>      </select>     </td>    </tr>    <tr>     <td>是否是菜單:</td>     <td>      <input type="checkbox" id="ckbIsMenuShow" value="true" name="IsMenu" /></td>    </tr>    <tr id="trMenuAdress">     <td>菜單圖片地址:</td>     <td>      <input type="hidden" id="IconImg" name="IconImg" />      <input type="file" id="fileMenuIcon" name="fileMenuIcon" />      <input type="button" value="上傳" id="btnUpLoadFile" />      <div id="ShowImgDiv"></div>     </td>    </tr>    <tr>     <td>排 序:</td>     <td>      <input type="text" name="Sort" /></td>    </tr>    <tr>     <td>備 注:</td>     <td>      <input type="text" name="Remark" /></td>    </tr>   </table>  } </div> <!-------------添加對話框 end ---------------------></body></html>最終要完成的項目是這樣的:

最終我成功的實現了異步無刷新上傳圖片的功能!
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!
新聞熱點
疑難解答