原生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 相关文章推荐
$.format,jquery.format 使用说明
Jul 13 Javascript
JS上传前预览图片实例
Mar 25 Javascript
JavaScript调用客户端的可执行文件(示例代码)
Nov 28 Javascript
jquery读取xml文件实现省市县三级联动的方法
May 29 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
Apr 13 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
Vue自定义事件(详解)
Aug 19 Javascript
Angular6 用户自定义标签开发的实现方法
Jan 08 Javascript
Vue 组件复用多次自定义参数操作
Jul 27 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&amp;MYSQL服务器配置说明
2006/10/09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
PHP加密解密类实例代码
2016/07/20 PHP
PHP实现小偷程序实例
2016/10/31 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
JavaScript 指导方针
2007/04/05 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
深入理解Nodejs Global 模块
2017/06/03 NodeJs
JavaScript中各数制转换全面总结
2017/08/21 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
生产经理的自我评价分享
2013/11/07 职场文书
酒店保洁主管岗位职责
2013/11/28 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
校园标语大全
2014/06/19 职场文书
毕业生找工作求职信
2014/08/05 职场文书
世界地球日活动总结
2015/02/09 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python