版权声明:本文为博主原创文章,转载请标注: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方法的更多相关文章

  1. 深入理解jQuery中的each方法

    写在前面 我们先回顾一下数组中的forEach方法吧.在数组的实例上有个forEach方法供所有实例使用,forEach里面接收一个回调函数,而且回调函数默认接收三个参数:当前项,索引,数组 .for ...

  2. 深度理解Jquery 中 offset() 方法

    参考原文:深度理解Jquery 中 offset() 方法

  3. jquery 中一些 特殊方法 的特殊使用 一览表

    cnblogs的页面, 一种是管理页面, 是随笔的列表 a full list of essays. 另一种是 首页. 要搜索文档的话, 就使用 "首页"的那种方式. 一个jque ...

  4. HTML5中的data-*属性和jQuery中的.data()方法使用

    原文地址链接:http://blog.csdn.net/fly_zxy/article/details/50687691: HTML5中的data-*属性 我们往往会根据需要在HTML标记上添加自定义 ...

  5. Jquery中的toggle()方法

    Jquery中的toggle()方法,有一次在看别人写的Jquery插件时,发现对toggle有如下使用 search.pagePrevious.toggle(data.pageNumber > ...

  6. ajax和springmvc的请求响应原理——深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法

    1,四大重要部分: 请求链接 post请求和get请求 请求参数形式 响应内容形式 2,从springmvc的controller角度,controller能接收到请求的前提 请求链接必须对应 pos ...

  7. 解决关于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 ...

  8. jQuery中的join方法

    和JS 中的JOIN 方法一样,将一数组按照JOIN的参数连接起来.比如: var arr = [ "a", "b", "c", " ...

  9. jquery中的index方法

    问题描述:灵活使用jquery中的index方法 方法签名:index([selector|element]) 用法概述:P1.index(P2)  //调用者P1可以为对象或集合 参数为空,返回P1 ...

随机推荐

  1. Handler消息传递机制——Handler、Loop、MessageQueue的工作原理

    为了更好地理解Handler的工作原理,先介绍一下与Handler一起工作的几个组件. Message:Handler接收和处理的消息对象. Looper:每个线程只能拥有一个Looper.它的loo ...

  2. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一)

    引言 现在做游戏开发的没有几个不用Excel的,用的最多的就是策划.尤其是数值策划,Excel为用户提供强大的工具,各种快捷键,各种插件,各种函数.但是作为程序来说其实关注的不是Excel而是它最终形 ...

  3. java中Integer比较需要注意的问题

    java中Integer比较需要注意的问题 package com.srie.test; import java.util.HashMap; import java.util.Map; public ...

  4. C#中IDisposable

    在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机.对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收.那么什么时候使用Id ...

  5. Spring @Aspect切面参数传递

    Spring @Aspect切面参数传递: Xml: <?xml version="1.0" encoding="UTF-8"?> <bean ...

  6. 【js 编程艺术】小制作二

    首先是一个html文档 /* explanation.html */<!DOCTYPE html> <html> <head> <meta charset=& ...

  7. shell编程其实真的很简单(三)

    通过前两篇文章,我们掌握了shell的一些基本写法和变量的使用,以及基本数据类型的运算.那么,本次就将要学习shell的结构化命令了,也就是我们其它编程语言中的条件选择语句及循环语句. 不过,在学习s ...

  8. 吉特仓储管系统(开源WMS)--Web在线报表以及打印模板分享

    很早之前就想写这篇文章与大家分享一下自己在吉特仓储管理系统中开发打印和报表的功能,在GitHub(https://github.com/hechenqingyuan/gitwms)上公开下载的代码中很 ...

  9. Swift 面向对象解析(二)

    接着上面一篇说的内容: 一 继承: 苹果继承与水果,苹果是水果的子类,则苹果是一种特殊的水果:这就是继承的关系,这个我们学OC的时候相信也都理解了,就不再描述定义了,下面的就叫继承: class ZX ...

  10. Input file 文本框美化

    HTML原生的input file 上传按钮有多(无)不(力)漂(吐)亮(槽)我就不多说了.大家几乎在项目中都会有遇到图片.等文件需要上传的地方,好看的文件上传按钮会使人身心愉悦(我瞎说的).好了不多 ...