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 相关文章推荐
JavaScript高级程序设计(第3版)学习笔记5 js语句
Oct 11 Javascript
javascript中比较字符串是否相等的方法
Jul 23 Javascript
javascript读取xml实现javascript分页
Dec 13 Javascript
AngularJS内置指令
Feb 04 Javascript
JavaScript计算两个日期时间段内日期的方法
Mar 16 Javascript
Angular 理解module和injector,即依赖注入
Sep 07 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
使用Node.js实现ORM的一种思路详解(图文)
Oct 24 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
json前后端数据交互相关代码
Sep 19 Javascript
Threejs实现滴滴官网首页地球动画功能
Jul 13 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
PHP如何编写易读的代码
2007/07/10 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
Symfony核心类概述
2016/03/17 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
JS重要知识点小结
2011/11/06 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python中元类用法实例
2014/10/10 Python
基于Python的接口测试框架实例
2016/11/04 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
python中调试或排错的五种方法示例
2019/09/12 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
设计师大码女装:11 Honoré
2020/05/03 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
怎样在程序里获得一个空指针
2015/01/24 面试题
关于打架的检讨书
2014/01/17 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
2022漫威和DC电影上映作品
2022/04/05 欧美动漫