原生js实现获取form表单数据代码实例


Posted in Javascript onMarch 27, 2019

本文实例为大家分享了原生js实现获取form表单数据的具体代码,供大家参考,具体内容如下

//获取指定form中的所有的<input>对象 
function getElements(formId) { 
  var form = document.getElementById(formId); 
  var elements = new Array(); 
  var tagElements = form.getElementsByTagName('input'); 
  for (var j = 0; j < tagElements.length; j++){ 
    elements.push(tagElements[j]); 
  } 
  var tagElements = form.getElementsByTagName('select'); 
  for (var j = 0; j < tagElements.length; j++){ 
    elements.push(tagElements[j]); 
  } 
  var tagElements = form.getElementsByTagName('textarea'); 
  for (var j = 0; j < tagElements.length; j++){ 
    elements.push(tagElements[j]); 
  }
  return elements; 
} 
//组合URL 
function serializeElement(element) { 
  var method = element.tagName.toLowerCase(); 
  var parameter; 
  if(method == 'select'){
    parameter = [element.name, element.value]; 
  }
  switch (element.type.toLowerCase()) { 
    case 'submit': 
    case 'hidden': 
    case 'password': 
    case 'text':
    case 'date':
    case 'textarea': 
       parameter = [element.name, element.value];
       break;
    case 'checkbox': 
    case 'radio': 
      if (element.checked){
        parameter = [element.name, element.value]; 
      }
      break;    
  } 
  if (parameter) { 
    var key = encodeURIComponent(parameter[0]); 
    if (key.length == 0) 
      return; 
    if (parameter[1].constructor != Array) 
      parameter[1] = [parameter[1]]; 
    var values = parameter[1]; 
    var results = []; 
    for (var i = 0; i < values.length; i++) { 
      results.push(key + '=' + encodeURIComponent(values[i])); 
    } 
    return results.join('&'); 
  } 
} 
//调用方法  
function serializeForm(formId) { 
  var elements = getElements(formId); 
  var queryComponents = new Array(); 
  for (var i = 0; i < elements.length; i++) { 
    var queryComponent = serializeElement(elements[i]); 
    if (queryComponent) {
      queryComponents.push(queryComponent); 
    } 
  } 
  return queryComponents.join('&'); 
}

最后通过serializeForm(formId);输入form的id名称即可实现,返回数据为

id=1&title=%E6%B4%BB%E5%8A%A8&time=2017-07-10&status=1&importance=0&desc=%E5%9C%A8%E4%BA%8C%E6%A5%BC%E5%8A%9E%E5%85%AC%E5%AE%A4%E5%BC%80%E4%BC%9A%EF%BC%8C%E4%B8%80%E7%82%B9%E9%92%9F

以上所述是小编给大家介绍的原生js实现获取form表单数据详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 页面编码与浏览器类型判断代码
Jun 03 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
Jun 21 Javascript
JS计算网页停留时间代码
Apr 28 Javascript
详解JavaScript中的4种类型识别方法
Sep 14 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
Angular2学习笔记——详解NgModule模块
Dec 02 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
JS验证input输入框(字母,数字,符号,中文)
Mar 23 Javascript
js实现分页功能
May 24 Javascript
使用OPENLAYERS3实现点选的方法
Sep 24 Javascript
JS switch判断 三目运算 while 及 属性操作代码
Sep 03 Javascript
JS实现炫酷轮播图
Nov 15 Javascript
JQueryDOM之样式操作
Mar 27 #jQuery
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
Mar 27 #Javascript
Node.js 多线程完全指南总结
Mar 27 #Javascript
浅谈JS和jQuery的区别
Mar 27 #jQuery
Nginx设置为Node.js的前端服务器方法总结
Mar 27 #Javascript
Node.js使用supervisor进行开发中调试的方法
Mar 26 #Javascript
详解vue在项目中使用百度地图
Mar 26 #Javascript
You might like
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
php中使用gd库实现远程图片下载实例
2015/05/12 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
js实现简单扫雷
2020/11/27 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Python数据类型详解(二)列表
2016/05/08 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
python检测IP地址变化并触发事件
2018/12/26 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
出国签证在职证明
2014/09/20 职场文书
出售房屋协议书范本
2014/10/06 职场文书
慰问信范文
2015/02/14 职场文书