如何理解jQuery中的ajaxSubmit方法


Posted in Javascript onMarch 13, 2017

刚刚学习中,使用到了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>

最终要完成的项目是这样的:

如何理解jQuery中的ajaxSubmit方法

最终我成功的实现了异步无刷新上传图片的功能!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JS类的封装及实现代码
Dec 02 Javascript
Javascript学习笔记一 之 数据类型
Dec 15 Javascript
使用js对select动态添加和删除OPTION示例代码
Aug 12 Javascript
深入理解javascript中defer的作用
Dec 11 Javascript
SeaJS 与 RequireJS 的差异对比
Dec 08 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
JavaScript实现简单的树形菜单效果
Jun 23 Javascript
JS实现多张图片预览同步上传功能
Jun 23 Javascript
vue中动态添加class类名的方法
Sep 05 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 Javascript
基于JavaScript实现留言板功能
Mar 16 Javascript
Node.js调试技术总结分享
Mar 12 #Javascript
JavaScript中双符号的运算详解
Mar 12 #Javascript
利用Node.js对文件进行重命名
Mar 12 #Javascript
纯js的右下角弹窗实例
Mar 12 #Javascript
彻底学会Angular.js中的transclusion
Mar 12 #Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 #Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 #Javascript
You might like
初品cakephp 入门基础
2012/02/16 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
JS event使用方法详解
2008/04/28 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
跟老齐学Python之做一个小游戏
2014/09/28 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
如何编写python的daemon程序
2021/01/07 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
初级Java程序员面试题
2016/03/03 面试题
工程监理应届生求职信
2013/11/09 职场文书
年终总结会主持词
2014/03/25 职场文书
岗位明星事迹材料
2014/05/18 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
中学团支部工作总结
2015/08/13 职场文书
中秋节随笔
2015/08/15 职场文书
2019各种保证书范文
2019/06/24 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电