jquery实现ajax提交表单信息

最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交。本人没有完整性学习jquery,基本上是现学现找,有点困难。

主要是扩展和拼接json转对象

很简单,附上代码:

; (function ($) {

    $.fn.ajaxForm = function (options) {
        var defaults = {
            modelname: ‘model‘,//后台对象接收名称
            url: ‘/‘,//提交地址
            postType: ‘POST‘,//提交方式
            dataType: ‘JSON‘,//数据返回类型
            async: false,//是否异步
            optionObj: [],//自定义参数
            callback: function () { },//成功回调
        };
        var options = $.extend(defaults, options);//合并参数

        if (options.url == ‘‘) {
            alert(‘请填写提交地址‘);
            return;
        }
        var postvals = {};

        //textbox/隐藏域/textarea/radio选中值
        $(this).find(‘input[type="text"],input[type="hidden"],textarea,input[type="radio"]:checked‘).each(function () {
            if ($(this).val() != undefined) {
                var name = $(this).attr(‘name‘);
                if (name == undefined || name == ‘‘) {
                    return false;
                }
                var value = $(this).val();
                var json = ‘{"‘ + name + ‘":"‘ + value + ‘"}‘;
                var obj = $.parseJSON(json);
                postvals = $.extend(postvals, obj);
            }
        });

        var resObj;
        if (options.optionObj != undefined || options.optionObj!=[]) {
            resObj = $.extend(postvals,options.optionObj);
        } else {
            resObj = postvals;
        }

        $.ajax({
            type: options.postType,
            dataType: options.dataType,
            data: resObj,
            async: options.async,
            url: options.url,
            success: function (json) {
                if (json.IsError) {
                    alert(json.Message);
                } else {
                    options.callback();
                }
            }
        });
    };

})(jQuery);

  

使用的话配合jquery validate使用

        $("#system-form").validate({
            rules: {
                SystemName: {
                    required: true
                },
                Description: {
                    required: true,
                },
            },
            messages: {
                SystemName: {
                    required: "请填写系统名称"
                },
                Description: {
                    required: "请填写系统描述"
                }
            },
            submitHandler: function(form) {
                var url = ‘/oa/system/‘ + $(form).attr(‘ftype‘);
                $(form).ajaxForm({ url: url,modelname:‘system‘, callback: function() {
                    location.href = ‘/oa/system/index.html‘;
                } });
            }
        });

  

代码可能有些问题,有时间看看

时间: 2024-08-05 16:46:09

jquery实现ajax提交表单信息的相关文章

基于SpringMVC与jquery的ajax提交表单的若干情况详解

在日常的业务中,我们往往使用的是ajax提交页面数据,而不用form的action来提交整个表单.现在我来分享一下我在日常工作中遇到的一些问题. 一.$.post.$.get.$.ajax三者的区别: 顾名思义,$.post和$.get分别是采用post方式和get方式向服务器发送请求.两者的不同是,get请求的参数是在url直接以url?name1=value1&name2=value2的形式拼接而成,而post请求的参数会以请求正文的形式传送到服务器,这个学习过javaweb知识的应该都知道

利用jquery进行ajax提交表单和附带的数据

1.获取表单数据: $form.serialize() 2.附带数据:input[status]=1 3.构造url链接:url = $form.attr('action') + '?input[status]=1' 3.ajax提交:$.post(url, post_data, function(res){xxx}, 'json'); 4.后台php接收 $_REQUEST['input'];(input是一个数组存放提交的所有数据)

jquery 通过ajax 提交表单

1.需要引入以下两个js文件 <script src="Easyui/jquery-1.7.2.min.js"></script>    <script src="JS/jquery.form.js"></script> 说明:jquery-1.7.2.min.js文件可以从网上下载,当然jquery.form.js文件也可以方便的从网上下载,这里给出代码 jquery.form.js代码如下: /*! * jQuer

jQuery序列化Ajax提交表单

var formData=$("form").serialize(); $.ajax({ type: "POST", url: "/front/EPtemplate.do", processData:true, data:formData, success: function(data){ $("#result").html("保存成功"); } });

jquery实现ajax提交表单的方法总结

方法一: 分别获取所需数据元素,DOM结构外层不用包form标签(适用于数据量少,数据元素分散于整个页面) $.ajax({ type: 'POST', url:'', data: { residence:[$('#region_1').val(),$('#region_2').val(),$('#region_3').val()], address:$('#address').val() }, dataType: 'json', success: function(data){ }, erro

Jquery ajax提交表单几种方法详解

[导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法.$get方式提交表单get() 方法通过远程 HTTP 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. $get方式提交表单 get() 方

MVC中ajax提交表单示例

页面中: @using (Ajax.BeginForm("Login", "User", new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterOk" })) { <input ...一些表单 <input type="checkbox" id="ckbrecord" name="ckbrecord&q

JQuery ajax提交表单及表单验证

JQuery ajax提交表单及表单验证 博客分类: jsp/html/javascript/ajax/development Kit 开源项目 注:经过验证,formValidator只适合一个页面不超过一个表单的情况. 本例实现功能:通过ajax提交表单,并在提交表单前对表单的数据进行验证. 主要通过两个插件实现: 第一个: jQuery Form Plugin http://jquery.malsup.com/form 主要功能是ajax提交表单 第二个:jQuery formValida

前端笔记-jquery ajax提交表单

jquery ajax提交表单 最近才发现,jquery ajax提交表单可以这么简单 $.ajax({ url: "udpate", type:"POST", data:$('#formId').serialize(), success: function(data){ alert(data); }, error:function(data){ }}); } 关键在于data:$('#formId').serialize(),这里的formId就是表单的Id. 以