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 支持ie和firefox杰奇翻页函数
Jul 22 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
Sep 13 Javascript
Bootstrap CSS使用方法
Dec 23 Javascript
javascript中apply/call和bind的使用
Feb 15 Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 Javascript
工作中常用到的ES6语法
Sep 04 Javascript
200行HTML+JavaScript实现年会抽奖程序
Jan 22 Javascript
详解如何使用router-link对象方式传递参数?
May 02 Javascript
详解JavaScript中精度失准问题及解决方法
Feb 04 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
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针对cookie操作的队列操作类实例
2014/12/10 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
JScript的条件编译
2007/05/29 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
Python中的rjust()方法使用详解
2015/05/19 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Python错误的处理方法
2020/06/23 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
职业生涯规划设计步骤
2014/01/12 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
职工运动会感言
2014/02/07 职场文书
求职自我推荐信
2014/06/25 职场文书
家长学校培训材料
2014/08/20 职场文书
七年级上册生物的课件
2019/08/07 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python