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 继承实例分析
Nov 04 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
分享一个自己写的简单的javascript分页组件
Feb 15 Javascript
使用jQuery实现更改默认alert框体
Apr 13 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
React Native实现简单的登录功能(推荐)
Sep 19 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
vue.js框架实现表单排序和分页效果
Aug 09 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
Koa从零搭建到Api实现项目的搭建方法
Jul 30 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下删除字符串中HTML标签的函数
2008/08/27 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
土建工程师岗位职责
2014/06/10 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
代码复现python目标检测yolo3详解预测
2022/05/06 Python