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中的Location地址对象
Jan 16 Javascript
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
jQuery控制输入框只能输入数值的小例子
Mar 20 Javascript
用svg制作富有动态的tooltip
Jul 17 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
js清除浏览器缓存的几种方法
Mar 15 Javascript
react-native使用leanclound消息推送的方法
Aug 06 Javascript
antd组件Upload实现自己上传的实现示例
Dec 18 Javascript
深入了解Hybrid App技术的相关知识
Jul 17 Javascript
详解vue 命名视图
Aug 14 Javascript
ESLint 是如何检查 .vue 文件的
Nov 30 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 定界符 使用技巧
2009/06/14 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
python操作MongoDB基础知识
2013/11/01 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
Python中装饰器学习总结
2018/02/10 Python
python用requests实现http请求代码实例
2019/10/31 Python
pytorch的batch normalize使用详解
2020/01/15 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
数据员岗位职责
2013/11/19 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
安全第一课观后感
2015/06/18 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Nginx限流和黑名单配置
2022/05/20 Servers
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android