原生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 相关文章推荐
js模拟滚动条(横向竖向)
Feb 22 Javascript
JS清空多文本框、文本域示例代码
Feb 24 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
Dec 28 Javascript
javascript实现简易计算器的代码
May 31 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
vue实现登录后页面跳转到之前页面
Jan 07 Javascript
详解node.js中的npm和webpack配置方法
Jan 21 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
安装Node.js并启动本地服务的操作教程
May 12 Javascript
vue仿ios列表左划删除
Sep 26 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 checkbox 取值详细说明
2010/08/19 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
python dict remove数组删除(del,pop)
2013/03/24 Python
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
跟老齐学Python之开始真正编程
2014/09/12 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
使用Python实现画一个中国地图
2019/11/23 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
浅谈react路由传参的几种方式
2021/03/23 Javascript
初中语文教学反思
2014/02/02 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
办公室文员岗位职责
2015/02/04 职场文书
考博导师推荐信范文
2015/03/27 职场文书
员工考勤管理制度
2015/08/06 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
ant design vue的form表单取值方法
2022/06/01 Vue.js