js获取form表单所有数据
代码如下:
<script type="text/javascript">
// 获取指定form中的所有的<input><select>对象
function getElements(formId) {
var form = document.getElementById(formId);
if(form == null){
return false;
}
var elements = new Array();
var inputTagElements = form.getElementsByTagName('input');
for (var j = 0; j < inputTagElements.length; j++) {
elements.push(inputTagElements[j]); } var selectTagElements = form.getElementsByTagName('select');
for (var j = 0; j < selectTagElements.length; j++) {
elements.push(selectTagElements[j]); }
return elements;
} // 获取单个input中的【name,value】数组
function inputSelector(element) {
if (element.checked)
return [ element.name, element.value ];
} function selectOne(element){
var value = $(element).find("option:selected").val();
if(value != ""){
var name = $(element).attr("name");
return [name, 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);
case 'select-one':
return selectOne(element);
}
return false;
} // 组合URL
function serializeElement(element) {
var method = element.tagName.toLowerCase();
var parameter = input(element); if (parameter) {
var key = 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 + '=' + 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>
<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> function getFormInfo(){
var params = serializeForm('login');
alert(params);
}
js获取form表单所有数据的更多相关文章
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...
- JS获取form表单数据
以下代码可放在一个js文件中,以便通用: //获取指定表单中指定标签对象 function getElements(formId, label) { var form = document.getEl ...
- JS 获取form表单的所有数据
在HTML中用js获取通过GET.POST方法(就是在网址后加?a=b&c=d之类)传过来的表单值. 针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为 ...
- JS获取form表单所有属性值
// 得到一个表单里的全部信息function getFormQueryString() { var frmID=document.forms[0]; var i,queryString=" ...
- JS获取form表单的所有输入值
function getFormQueryString(frmID) { var frmID=document.getElementById(frmID); var i,queryString = & ...
- java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)
1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...
- springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据
springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal ...
- serialize可以获取form表单里面的数值
serialize属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 原生js实现form表单序列化
当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序 ...
随机推荐
- AI涉及到数学的一些面试题汇总
[LeetCode] Maximum Product Subarray的4种解法 leetcode每日解题思路 221 Maximal Square LeetCode:Subsets I II (2) ...
- android黑白屏的问题
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...
- PHP应用如何对接微信公众号JSAPI支付
微信支付的产品有很多,1. JSAPI支付 2. APP支付 3. Native支付 4.付款码支付 5. H5支付. 其中基于微信公众号开发的应用选择“JSAPI支付“产品,其他APP支付需 ...
- JAVA项目从运维部署到项目开发(四. Tomcat)
一.关于中文乱码问题 文件目录:/conf/server.xml 将相关语句改为: <Connector port="8008" protocol="HTTP/1. ...
- markdown 格式测试
Q1: before 与 afer 的而区别在哪? Q2: 如何预防"爆仓"? Q3: 在购买量 much > 库存量 num时, 把much自动改为num? -- 在t2的 ...
- centos7上安装zabbix3.4的详细步骤与问题处理记录
zabbix是linux运维工作中经常用到的开源工具,话不多说,直接开始正式的安装配置环境.1.安装环境 centos7 服务端:192.168.200.100 客户端:192.168.200.200 ...
- css 布局 flex
cursor 设置鼠标放上去后的形状 visability 设置是否可见 flex 详见这篇文章https://developer.mozilla.org/zh-CN/docs/Learn/CSS/C ...
- 限制textarea 文本框的长度(收集了几个办法)
文章参考地址:http://blog.csdn.net/nhconch/article/details/4223076 需求背景: 前几天,因为客户有一个需求说,需要对一个评论(一个textarea文 ...
- CF528D Fuzzy Search 和 BZOJ4259 残缺的字符串
Fuzzy Search 给你文本串 S 和模式串 T,求 S 的每个位置是否能模糊匹配上 T. 这里的模糊匹配指的是把 T 放到 S 相应位置上之后,T 中每个字符所在位置附近 k 个之内的位置上的 ...
- Windows UI自动化测试的XPATH实现 - WPATH
https://segmentfault.com/a/1190000010339021 从事Windows 桌面应用自动化测试也有一些年了,现在谈这个话题并不流行.因为除了企业级应用,很少有公司会只选 ...