如何理解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 相关文章推荐
JavaScript入门教程(11) js事件处理
Jan 31 Javascript
基于jquery打造的百分比动态色彩条插件
Sep 19 Javascript
JS+css 图片自动缩放自适应大小
Aug 08 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
js判断复选框是否选中及选中个数的实现代码
May 30 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
vue如何获取点击事件源的方法
Aug 10 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
May 28 Javascript
vue实现评价星星功能
Jun 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
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
php cookie 详解使用实例
2016/11/03 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
解决pycharm下pyuic工具使用的问题
2020/04/08 Python
python中有帮助函数吗
2020/06/19 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
python打包多类型文件的操作方法
2020/09/21 Python
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
培训主管的岗位职责
2013/11/23 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
校运会口号
2014/06/18 职场文书
刑事上诉状范文
2015/05/22 职场文书
河童之夏观后感
2015/06/11 职场文书
运动会通讯稿600字
2015/07/20 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript