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 相关文章推荐
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
Jquery 动态循环输出表格具体方法
Nov 23 Javascript
JS实现日期时间动态显示的方法
Dec 07 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
javascript实现2016新年版日历
Jan 25 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
Dec 26 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
Aug 09 Javascript
原生js实现Flappy Bird小游戏
Dec 24 Javascript
Vue渲染过程浅析
Mar 14 Javascript
详解可以用在VS Code中的正则表达式小技巧
May 14 Javascript
微信小程序图片自适应实现解析
Jan 21 Javascript
如何开发一个渐进式Web应用程序PWA
May 10 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
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
php在线代理转向代码
2012/05/05 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
python基于phantomjs实现导入图片
2016/05/13 Python
全面理解Python中self的用法
2016/06/04 Python
python Opencv将图片转为字符画
2021/02/19 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
Python同步遍历多个列表的示例
2019/02/19 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
个人收入证明范本
2014/01/12 职场文书
商场活动策划方案
2014/01/24 职场文书
校园十大歌手策划书
2014/02/01 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
初中班主任寄语
2014/04/04 职场文书
大学生简历求职信
2014/06/24 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers