如何理解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 相关文章推荐
jquery last-child 列表最后一项的样式
Jan 22 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 Javascript
理解Javascript文件动态加载
Jan 29 Javascript
使用jQuery UI库开发Web界面的简单入门指引
Apr 22 Javascript
浅谈javascript中的数据类型转换
Dec 27 Javascript
二维码图片生成器QRCode.js简单介绍
Aug 18 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
vue组件发布到npm简单步骤
Nov 30 Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 Javascript
在小程序中推送模板消息的实现方法
Jul 22 Javascript
Vue-router 报错NavigationDuplicated的解决方法
Mar 31 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
递归列出所有文件和目录
2006/10/09 PHP
利用 window_onload 实现select默认选择
2006/10/09 PHP
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
微信access_token的获取开发示例
2015/04/16 PHP
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
python创建学生管理系统
2019/11/22 Python
如何基于python操作json文件获取内容
2019/12/24 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
2014年计生工作总结
2014/11/21 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
餐馆开业致辞
2015/08/01 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
python blinker 信号库
2022/05/04 Python