如何理解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中动态添加事件(绑定事件)的代码
Jan 09 Javascript
商城常用滚动的焦点图效果代码简单实用
Mar 28 Javascript
Jquery性能优化详解
May 15 Javascript
Js数组排序函数sort()介绍
Jun 08 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
Angularjs过滤器使用详解
May 25 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
angularjs手动识别字符串中的换行符方法
Oct 02 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
JQuery特殊效果和链式调用操作示例
May 13 jQuery
layui动态加载多表头的实例
Sep 05 Javascript
javascript canvas封装动态时钟
Sep 30 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
C# Assembly类访问程序集信息
2009/06/13 PHP
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
php中的strpos使用示例
2014/02/27 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
解读Django框架中的低层次缓存API
2015/07/24 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
运动会入场式解说词
2014/02/18 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
解决MySQL报“too many connections“错误
2022/04/19 MySQL