JS如何获取表单中复选框的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS如何获取表单中复选框的值?相关的知识,希望对你有一定的参考价值。

<input type=checkbox name="chk" value=1>
在js中可以用document.form.chk.value获得其值。
请问下边的三个复选框如何获取其值?
document.form.chk[].value报错。
<input type=checkbox name="chk[]" value=1>
<input type=checkbox name="chk[]" value=2>
<input type=checkbox name="chk[]" value=3>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script>
        function f1() 
            //获取所有name为chk的多选框,返回一个多选框数组
            var chks = document.form.chk;

            //把选中的多选框的值拼接成字符串
            var str = "";

            //循环多选框数组
            for (var i = 0; i < chks.length; i++) 
                //如果多选框被选中,则把值累计到str中
                if (chks[i].checked == true) 
                    str += chks[i].value + ",";
                
            

            //弹出多选框选中的结果
            alert("您勾选的值是:"+str);
        
    </script>
</head>
<body>
    <form name="form">
        <input type=checkbox name="chk" value=1>
        <input type=checkbox name="chk" value=2>
        <input type=checkbox name="chk" value=3>
        <input type="button" value="测试" onclick="f1()"/>
    </form>
</body>
</html>

参考技术A

这样不行的,而且要获得复选框也应该这么写:

document.form['chk[]'].value

然后再循环判断checked属性,取值。

追问


var x=document.form['chk[]'].value;
for(var i=0;i
没有用呀

追答

解决了吧,多了个value

本回答被提问者采纳
参考技术B function fun1()
var value = "";
var a = document.getElementsByName("chk");
for (var i=0;i<a.length;i++ )
if(a[i].checked)
value=value+a[i].value + " ";


alert(value);

<input type=checkbox name="chk" value="1">
<input type=checkbox name="chk" value="2">
<input type=checkbox name="chk" value="3">
<input type=checkbox name="chk" value="4">
<input type="button" value="获取" onclick="fun1();">

以上是关于JS如何获取表单中复选框的值?的主要内容,如果未能解决你的问题,请参考以下文章

表单发布时如何获取复选框元素中未选中复选框的值?

如何使用 jQuery 获取复选框的值并将它们吐到不同的表单字段中

js中,请问如何获取radio值

php表单中如何获取单选按钮与复选按钮的值

js获取动态添加的表单元素的值

如何在不提交表单的情况下获取选中或取消选中复选框的值