JS - 无法检查复选框是否已选中

时间:2013-06-03 17:21:20

标签: javascript

我正在尝试编写一个网页,其中包含可以启用/禁用的各种选项。

但是,无论是否选中相关复选框,似乎始终启用这些选项。

以下是代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <script type="text/javascript">
            function check() {
                var options = "";
                if (document.form1.nocase.value) {
                    options = "1";
                }
                if (document.form1.ck2.value) {
                    options = options + "2";
                }
                alert (options);
            }
        </script>
        <form name="form1">
            <input type="checkbox" name="nocase">option 1
            <input type="checkbox" name="ck2">option 2
            <input type="button" value="Check" onclick="check();">
        </form>
        <div id="results"></div>
    </body>
</html>

我真的很难理解故障所在。有人能指出来吗?

提前致谢。

1 个答案:

答案 0 :(得分:4)

您应该使用checked属性,而不是输入字段的value属性:

if (document.form1.nocase.checked) {
    //code here
}

value属性是为每个选中的复选框发送到服务器的字符串值,您可以在html标记中指定其值:

<input type="checkbox" name="nocase" value="nocase">

checked属性为您提供所需的布尔值,显示是否选中了复选框。