js 获得多个同name 的input输入框的值
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="">
请输入邮箱:<input type="text" name="search" placeholder="请输入邮箱"><br/>
请输入手机:<input type="text" name="search" placeholder="请输入手机"><br/>
<input type="button" value="提交" onclick="check();" style="background: #e840f3">
</form>
</body>
</html>
<script>
function check(){
var els =document.getElementsByName("search");
for (var i = 0, j = els.length; i < j; i++){
console.log(els[i].value);
}
}
</script>
以前一直没有注意过,php处理html中的input元素的name属性的传值有这样的用法:name=“a[]”,这样写,如果多个input都为这样的name,那么传递的值就是一个为数组,如果不加"[]",则只有一个值。
测试代码如下,加上了非空的验证:
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
|
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
< head >
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< title >model</ title >
< meta http-equiv="Content-language" content="zh-CN" />
< script type="text/javascript">
//<![CDATA[
window.onload=function(){
var form = document.getElementById('form');
form.onsubmit=function(){
var users = document.getElementsByName('user[]');
for(var i=0; i< users.length ; i++){
if(users[i].value==''){
alert('Value is null.');
return false;
}
}
return true;
};
}
//]]>
</ script >
</ head >
< body >
< div >
< form id="form" action="" method="get">
UserID< input name="user[]" />< br />
UserID< input name="user[]" />< br />
UserID< input name="user[]" />< br />
< input type="submit" />
</ form >
</ div >
</ body >
</ html >
|