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 相关文章推荐
jqPlot Option配置对象详解
Jul 25 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
Jun 20 Javascript
JQuery 应用 JQuery.groupTable.js
Dec 15 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
Oct 09 Javascript
防止按钮在短时间内被多次点击的方法
Mar 10 Javascript
ECMAScript6函数默认参数
Jun 12 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
Bootstrap模仿起筷首页效果
May 09 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
Jan 04 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
May 03 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
Jul 16 Javascript
详解关于React-Router4.0跳转不置顶解决方案
May 10 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 ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
Python中的类学习笔记
2014/09/23 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
python书籍信息爬虫实例
2018/03/19 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
django用户登录和注销的实现方法
2018/07/16 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
Python3爬虫中关于中文分词的详解
2020/07/29 Python
软件测试题目
2013/02/27 面试题
个人简历的自荐信
2013/10/23 职场文书
面试后的感谢信范文
2014/02/01 职场文书
车间机修工岗位职责
2014/02/28 职场文书
2014社区三八妇女节活动方案
2014/03/30 职场文书
见习报告格式要求
2014/11/04 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
催款函范文
2015/06/24 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
golang中的struct操作
2021/11/11 Golang
Python函数中apply、map、applymap的区别
2021/11/27 Python