当前位置:编程学习 > JS >>

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>

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,