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系列(15) 函数(Functions)
Apr 12 Javascript
分析js闭包引起的事件注册问题
Mar 29 Javascript
JavaScript浏览器对象之一Window对象详解
Jun 03 Javascript
jQuery动态加载css文件实现方法
Jun 15 Javascript
JS简单实现点击复制链接的方法
Aug 03 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
Jan 04 Javascript
import与export在node.js中的使用详解
Sep 28 Javascript
Javacript中自定义的map.js  的方法
Nov 26 Javascript
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 Javascript
node使用promise替代回调函数
May 07 Javascript
Vue.js点击切换按钮改变内容的实例讲解
Aug 22 Javascript
vue计算属性+vue中class与style绑定(推荐)
Mar 30 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
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
python 生成不重复的随机数的代码
2011/05/15 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
python3下实现搜狗AI API的代码示例
2018/04/10 Python
对python的文件内注释 help注释方法
2018/05/23 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
倡议书范文
2014/04/16 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
讲座通知范文
2015/04/23 职场文书
培训后的感想
2015/08/07 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
详解SQL报错盲注
2022/07/23 SQL Server