原生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 相关文章推荐
网页里控制图片大小的相关代码
Jun 25 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
JS去除数组重复值的五种不同方法
Sep 06 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
Nov 30 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
JS 获取浏览器和屏幕宽高等信息代码
Mar 31 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
使用jquery 简单实现下拉菜单
Jan 14 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
Angular通过指令动态添加组件问题
Jul 09 Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 Javascript
解决vue init webpack 下载依赖卡住不动的问题
Nov 09 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
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
JavaScript中的类继承
2010/11/25 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
JS常用算法实现代码
2016/11/14 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python实现pdf文档转txt的方法示例
2018/01/19 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
Python标准库itertools的使用方法
2020/01/17 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
音乐学专业求职信
2014/07/22 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
乐山大佛导游词
2015/02/02 职场文书
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL