如何理解jQuery中的ajaxSubmit方法
版权声明:本文为博主原创文章,转载请标注:www.cnblogs.com/gdsblog
刚刚学习中,使用到了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="stylesheet" />
<link href="~/Content/JqueryEasyUi/themes/icon.css" 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>
最终要完成的项目是这样的:

最终我成功的实现了异步无刷新上传图片的功能!
版权声明:本文为博主原创文章,转载请标注:www.cnblogs.com/gdsblog 如果您有同样的困惑,欢迎和我探讨!
如何理解jQuery中的ajaxSubmit方法的更多相关文章
- 深入理解jQuery中的each方法
写在前面 我们先回顾一下数组中的forEach方法吧.在数组的实例上有个forEach方法供所有实例使用,forEach里面接收一个回调函数,而且回调函数默认接收三个参数:当前项,索引,数组 .for ...
- 深度理解Jquery 中 offset() 方法
参考原文:深度理解Jquery 中 offset() 方法
- jquery 中一些 特殊方法 的特殊使用 一览表
cnblogs的页面, 一种是管理页面, 是随笔的列表 a full list of essays. 另一种是 首页. 要搜索文档的话, 就使用 "首页"的那种方式. 一个jque ...
- HTML5中的data-*属性和jQuery中的.data()方法使用
原文地址链接:http://blog.csdn.net/fly_zxy/article/details/50687691: HTML5中的data-*属性 我们往往会根据需要在HTML标记上添加自定义 ...
- Jquery中的toggle()方法
Jquery中的toggle()方法,有一次在看别人写的Jquery插件时,发现对toggle有如下使用 search.pagePrevious.toggle(data.pageNumber > ...
- ajax和springmvc的请求响应原理——深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
1,四大重要部分: 请求链接 post请求和get请求 请求参数形式 响应内容形式 2,从springmvc的controller角度,controller能接收到请求的前提 请求链接必须对应 pos ...
- 解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy”错的方法
解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the ...
- jQuery中的join方法
和JS 中的JOIN 方法一样,将一数组按照JOIN的参数连接起来.比如: var arr = [ "a", "b", "c", " ...
- jquery中的index方法
问题描述:灵活使用jquery中的index方法 方法签名:index([selector|element]) 用法概述:P1.index(P2) //调用者P1可以为对象或集合 参数为空,返回P1 ...
随机推荐
- iOS 之 alcatraz (插件管理器)
1. 安装 1.1. 打开命令行 curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/ins ...
- HDU-1430-素数回文
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1431 这题之前做过,又不会做了, 思路先直接暴力,输入a=5 b=500000000得到最大的值为9 ...
- WInform 创建一个简单的WPF应用
(一)创建一个简单的WPF应用 首先,在这里我要说明的是:这里的例子,都是通过控制台程序来创建WPF应用,而非使用现成的WPF模版.因为WPF模版封装了创建WPF应用所需要的各种基本元素,并不利于我们 ...
- WPF学习之数据绑定
WPF中的数据绑定提供了很强大的功能.与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Tw ...
- iOS多线程的七大对象理解
1用面向对象的观点去理解,进程和线程,同步和异步,并行和串行,还有主线程的主队列,的七者关系 进程:程序不运行时就是一堆代码,运行时就是一堆的进程的组合,进程是程序运行的基本单位. 线程:线程是进程的 ...
- Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport
Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Xcode7 beta 网络请求报错:The ...
- 【鸡年大吉】,不知道写点啥,放个demo(小球碰撞)吧,有兴趣的看看
最初的想法是仿写win7的泡泡屏保效果,但是对于小球的斜碰问题一直没搞明白(如果你会这个,欢迎留言或者做个demo),所以只是简单处理了碰撞后的速度,有时候会看起来很搞笑~~~funny guy 话不 ...
- 如何在linux下制作一个windows的可启动u盘?
如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...
- svg学习之旅(1)
Canvas 与 SVG 的比较 下表列出了 canvas 与 SVG 之间的一些不同之处. Canvas 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果 ...
- pyqt的 .ui 转换为 .py 后的操作注意事项
1. 增加 import sys 2. 将 Ui_MainWindow(object) 中的 object 修改成修改成 QtGui.QMainWindow 3. 在 Ui_MainWindow 类中 ...