当前位置:主页 > jquery教程 > jquery实现ajax提交表单信息的简单方法(推荐)

jquery实现ajax提交表单信息的方法汇总

发布:2020-03-13 12:31:42 170


本站精选了一篇jQuery相关的编程文章,网友尹采春根据主题投稿了本篇教程内容,涉及到jquery、ajax、提交表单、jquery实现ajax提交表单信息的简单方法(推荐)相关内容,已被971网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

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'; 
    } }); 
  } 
});

以上这篇jquery实现ajax提交表单信息的简单方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • jQuery实现三级联动效果

    发布:2022-06-21

    给网友朋友们带来一篇关于jQuery的教程,这篇文章主要为大家详细介绍了jQuery实现三级联动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 详解jQuery .attr()和.removeAttr()方法操作元素属性

    发布:2020-01-27

    本文为大家详细介绍下如何使用jQuery的.attr()和.removeAttr()方法读取,添加,修改,删除元素的属性,不会的朋友可以参考下哈,希望对大家有所帮助


  • jQuery UI实现动画效果的实例代码

    发布:2020-01-24

    这篇文章给大家总结了jQuery UI实现动画效果的实例代码,有需要的朋友们可以参考测试下。


  • jQuery实现带滑动条的菜单实例

    发布:2020-03-02

    这篇文章主要介绍了jQuery实现带滑动条的菜单效果代码,涉及jquery遍历页面元素及动态变换效果实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下


  • 理解jQuery返回定位插件

    发布:2020-02-22

    本篇文章主要介绍了jQuery返回定位插件的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧


  • jQuery倒计时代码

    发布:2021-05-18

    本文给大家分享一段超简单的代码基于jquery实现倒计时功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下


  • 基于jquery实现放大镜效果

    基于jquery实现放大镜效果

    发布:2022-07-06

    给大家整理了关于jquery的教程,大家在逛淘宝的时候,把鼠标放在宝贝上就会放大,奇怪这种效果怎么实现的,下面小编就给大家分享基于jquery实现放大镜效果,有需要的朋友可以参考下


  • jQuery实现文字无缝滚动效果(marquee插件)

    发布:2020-03-16

    这篇文章主要介绍了基于jQuery实现一个marquee无缝滚动的插件,非常不错,具有参考借鉴价值,需要的朋友可以参考下


网友讨论