原生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设置css属性的代码
Dec 28 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
详谈 Jquery Ajax异步处理Json数据.
Sep 09 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
常用的JavaScript验证正则表达式汇总
Nov 26 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
May 20 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
Mar 28 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
原生js实现日期计算器功能
Feb 17 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
Aug 19 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
使用preload预加载页面资源时注意事项
Feb 03 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
Terran兵种对照表
2020/03/14 星际争霸
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
php中使用url传递数组的方法
2015/02/11 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Python pandas常用函数详解
2018/02/07 Python
python 内置模块详解
2019/01/01 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
最新计算机专业自荐信
2013/10/16 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
英语商务邀请函范文
2014/01/16 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技