利用JS如何获取form表单数据


Posted in Javascript onDecember 19, 2019

前言

本文主要给大家介绍的是关于利用JS获取form表单数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

方法如下:

1.有的时候想偷点懒,页面上有大量的表单提交数据,每次单独获取都比较麻烦。代码冗余度也比较多,因此封装了一个方法。

2. 表单元素必须要有name属性,name属性是向后端提交的字段数据。

3.html代码

<h3>下拉框</h3>
 <select name="sel" id="sel" class="query">
  <option value ="sel-1">sel-1</option>
  <option value ="sel-2">sel-2</option>
 </select>
 <h3>输入框</h3>
 <input type="text" name="text1" class="query" value="hello" />
 <input type="text" name="text2" class="query" value="word" />
 <h3>密码框</h3>
 <input type="password" name="password" class="query" value="123456" />
 <h3>单选框</h3>
 单选1<input type="radio" name="radio" class="query" value="r1" checked />
 单选2<input type="radio" name="radio" class="query" value="r2" checked/>
 单选3<input type="radio" name="radio" class="query" value="r3" />
  <h3>复选框</h3>
 复选框1<input type="checkbox" name="check" id="" class="query" value="c1" checked/>
 复选框2<input type="checkbox" name="check" id="" class="query" value="c2" />
 复选框3<input type="checkbox" name="check" id="" class="query" value="c3" checked/>
 <h3>search</h3>
 <input type="range" name="range" id="" class="query" value="" />
 <input type="color" name="color" id="" class="query" value="" />
 <h3>
  <button type="button" id="save">
   提交
  </button>
 </h3>

4.此处引入了JQ库。

4.1js代码块

使用说明:调用方法的时候传入class名称即可。

// 封装方法,获取到form表单的数据。使用此方法,表单元素必须存在那么属性。
  //el:元素的class名称。
  function getParameter(el){
   var obj={};
   $(el).each(function(index,item){
    // 判断元素的类型
    if(item.type=="text" || item.type=="password" || item.type=="select-one" || item.type=="tel" || 
     item.type=="search" || item.type=="range" || item.type=="number" || item.type=="month" || 
     item.type=="email" || item.type=="datetime-local" || item.type=="datetime" || item.type=="date" || 
     item.type=="color"){
     //获取到name的值,name的值就是向后台传递的数据
     obj[$(this).attr("name")]=$(this).val();
    }else if(item.type=="checkbox"){
     var stamp=false;
     if($(this).attr("name") && !stamp){
      stamp=false;
      // 获取到复选框选中的元素
      var checkboxEl=$("input[name="+$(item).attr('name')+"]:checked");
      if(checkboxEl){
       var checkboxArr=[];
       // 取出复选框选中的值
       checkboxEl.each(function(idx,itm){
        checkboxArr.push($(itm).val());
       });
       obj[$(this).attr("name")]=checkboxArr.join(",");
      }
      
     }
    }else if(item.type=="radio"){
     // 获取到单选框选中的值
     var radio_val=$("input[name="+$(item).attr('name')+"]:checked").val();
     if(radio_val){
      obj[$(item).attr("name")]=radio_val;
     }
    }
   });
   return obj;
  }
  // 调用方法
  $("#save").click(function(){
   var parameter=getParameter(".query");


 
console.log(parameter); 


 });

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
用JavaScript对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
js拼接html字符串的注意事项
Oct 13 Javascript
移动端滑动插件Swipe教程
Oct 16 Javascript
Vue核心概念Action的总结
Jan 18 Javascript
原生JS使用Canvas实现拖拽式绘图功能
Jun 05 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
May 18 Javascript
分享15个Webpack实用的插件!!!
Mar 31 Javascript
在Vue项目中使用Typescript的实现
Dec 19 #Javascript
JS数据类型STRING使用实例解析
Dec 18 #Javascript
JS精确判断数据类型代码实例
Dec 18 #Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 #Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 #Javascript
js数据类型转换与流程控制操作实例分析
Dec 18 #Javascript
vue不操作dom实现图片轮播的示例代码
Dec 18 #Javascript
You might like
DOM精简教程
2006/10/03 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
再探JavaScript作用域
2014/09/24 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
python制作websocket服务器实例分享
2016/11/20 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
医院护士专业个人的求职信
2013/12/09 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
Python使用scapy模块发包收包
2021/05/07 Python
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
Node实现搜索框进行模糊查询
2021/06/28 Javascript