jquery实现ajax提交表单信息的简单方法(推荐)


Posted in Javascript onAugust 24, 2016

最近在思考优化项目,想自己扩展一个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提交表单信息的简单方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
多浏览器兼容性比较好的复制到剪贴板的js代码
Oct 09 Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
值得分享的JavaScript实现图片轮播组件
Nov 21 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
Nov 03 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
简单介绍react redux的中间件的使用
Apr 06 Javascript
Bootstrap table表格初始化表格数据的方法
Jul 25 Javascript
AngularJS下对数组的对比分析
Aug 24 #Javascript
AngularJS  $modal弹出框实例代码
Aug 24 #Javascript
AngularJS中比较两个数组是否相同
Aug 24 #Javascript
javascript深拷贝(deepClone)详解
Aug 24 #Javascript
js实现无缝循环滚动
Jun 23 #Javascript
jquery实现网页定位导航
Aug 23 #Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
Aug 23 #Javascript
You might like
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
什么是JavaScript
2009/08/13 Javascript
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
layui表格实现代码
2017/05/20 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Django model select的多种用法详解
2019/07/16 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
装潢设计实习自我鉴定
2013/09/19 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
中标通知书
2015/04/17 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
简爱读书笔记
2015/06/26 职场文书
鲁滨逊漂流记读书笔记
2015/06/26 职场文书
小学班主任教育随笔
2015/08/15 职场文书
护理培训心得体会
2016/01/22 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android