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中的有名函数和无名函数
Oct 17 Javascript
Node.js实现简单聊天服务器
Jun 20 Javascript
Express.JS使用详解
Jul 17 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
基于bootstrap3和jquery的分页插件
Jul 31 Javascript
整理Javascript流程控制语句学习笔记
Nov 29 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
May 30 Javascript
使用JavaScript触发过渡效果的方法
Jan 19 Javascript
Vue中在新窗口打开页面及Vue-router的使用
Jun 13 Javascript
vue-cli的工程模板与构建工具详解
Sep 27 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
如何基于viewport vm适配移动端页面
Nov 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
图书管理程序(二)
2006/10/09 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python实现搜索文本文件内容脚本
2018/06/22 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
大学运动会入场词
2014/02/22 职场文书
事务机电主管工作职责
2014/02/25 职场文书
班风口号
2014/06/18 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
费城故事观后感
2015/06/10 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js
Redis实现短信验证码登录的示例代码
2022/06/14 Redis