js获取form表单所有数据的简单方法


Posted in Javascript onAugust 18, 2016

在HTML中用js获取通过GET、POST方法(就是在网址后加?a=b&c=d之类)传过来的表单值。

针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为公用方法直接调用。可以提高大家的开发效率。

Js代码

<script type="text/javascript"> 
 
//获取指定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]); 
 
  } 
  return elements;  
}  
 
//获取单个input中的【name,value】数组 
function inputSelector(element) {  
 if (element.checked)  
   return [element.name, element.value];  
}  
   
function input(element) {  
  switch (element.type.toLowerCase()) {  
   case 'submit':  
   case 'hidden':  
   case 'password':  
   case 'text':  
    return [element.name, element.value];  
   case 'checkbox':  
   case 'radio':  
    return inputSelector(element);  
  }  
  return false;  
}  
 
//组合URL 
function serializeElement(element) {  
  var method = element.tagName.toLowerCase();  
  var parameter = input(element);  
  
  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('&'); 
}  
 
</script>

Js代码

function getFormInfo(){ 
  var params = serializeForm('login'); 
  alert(params); 
}

Html代码

<body>       
<form id="login" name="login" method="post" action="result.jsp"> 
<input name="user" type="text"/> 
<input name="sex" type="radio" value="man"/> 
<input name="sex" type="radio" value="woman"/> 
interest:<input type="checkbox" name="interest" value="piu">PIU <input type="checkbox" name="interest" value="dss">DSS <input type="checkbox" name="interest" value="ddr">DDR<br>  
<input type="hidden" name="from" value="welcome"><br>  
<input type="button" name="submit" value="submit" onclick="getFormInfo();">  
</form> 
</body>

html:

js获取form表单所有数据的简单方法

url:

js获取form表单所有数据的简单方法

以上这篇js获取form表单所有数据的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript写的一个DIV 弹出网页对话框
Aug 14 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
Mar 14 Javascript
Jquery Validate 正则表达式实用验证代码大全
Aug 23 Javascript
js处理json以及字符串的比较等常用操作
Sep 08 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
详解堆的javascript实现方法
Nov 29 Javascript
Javascript之深入浅出prototype
Feb 06 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
Oct 23 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
Apr 04 Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 Javascript
Javascript中浏览器窗口的基本操作总结
Aug 18 #Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
Aug 18 #Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 #Javascript
jQuery fadeOut 异步实例代码详解
Aug 18 #Javascript
AngularJS 工作原理详解
Aug 18 #Javascript
js H5 canvas投篮小游戏
Aug 18 #Javascript
jQuery过滤选择器经典应用
Aug 18 #Javascript
You might like
模仿OSO的论坛(三)
2006/10/09 PHP
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
使用JQuery在线制作ppt并在线演示源码特效
2015/09/08 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
python中__slots__用法实例
2015/06/04 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
python两个list[]相加的实现方法
2020/09/23 Python
.NET面试题:什么是反射
2016/09/30 面试题
新大陆软件面试题
2016/11/24 面试题
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
2014年店长工作总结
2014/11/17 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
MySQL数据库 安全管理
2022/05/06 MySQL