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 相关文章推荐
将jQuery应用于login页面的问题及解决
Oct 17 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
再谈javascript面向对象编程
Mar 18 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
JavaScript之引用类型介绍
Aug 10 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
微信小程序  modal弹框组件详解
Oct 27 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 Javascript
JavaScript实现一个简易的计算器实例代码
May 10 Javascript
浅谈Vue的computed计算属性
Mar 21 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文本数据库的搜索方法
2006/10/09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
测试php函数的方法
2013/11/13 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
vant实现购物车功能
2020/06/29 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
Django与JS交互的示例代码
2017/08/23 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
龙门石窟导游词
2015/02/02 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
总结几个非常实用的Python库
2021/06/26 Python