首页 电脑 电脑学堂 查看内容

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

2016-8-19 11:49 2641 0

摘要: 在HTML中用js获取通过GET、POST方法(就是在网址后加?a=bc=d之类)传过来的表单值。 针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为公用方法直接调用。可以提高大家 ...

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

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

Js代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<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代码

1
2
3
4
function getFormInfo(){
  var params = serializeForm('login');
  alert(params);
}

Html代码

1
2
3
4
5
6
7
8
9
10
<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:

url:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论

返回顶部