原生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 相关文章推荐
用Div仿showModalDialog模式菜单的效果的代码
Mar 05 Javascript
日期 时间js控件
May 07 Javascript
javascript读写json示例
Apr 11 Javascript
js点击事件链接的问题解决
Apr 25 Javascript
javascript下拉框选项单击事件的例子分享
Mar 04 Javascript
JS获取复选框的值,并传递到后台的实现方法
May 30 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
浅谈ng-zorro使用心得
Dec 03 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
浅谈vue中组件绑定事件时是否加.native
Nov 09 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
Apr 08 Javascript
JavaScript隐式类型转换代码实例
May 29 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开发需要注意的安全问题
2010/09/01 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php简单实现MVC
2015/02/05 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
JavaScript闭包实例讲解
2014/04/22 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
Seajs源码详解分析
2019/04/02 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
python实现哈希表
2014/02/07 Python
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
主管职责范文
2013/11/09 职场文书
小学少先队活动方案
2014/02/18 职场文书
客户接待方案
2014/02/26 职场文书
施工员岗位职责
2014/03/16 职场文书
入职担保书范文
2014/05/21 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
好的促销活动方案
2014/08/21 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
驻村工作简报
2015/07/20 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
php png失真的原因及解决办法
2021/11/17 PHP
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA