简体   繁体   中英

JS - Cant check if checkbox is checked

I'm trying to write a web page with various options that can be enabled/disabled.

However, it seems that those options are always enabled, regardless of whether the relevant check boxes are selected or not.

Here's the code:

<!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>

I really am having problems understanding where the fault lies. Can anyone point it out?

Thanks in advance.

You should use the checked property and not the value property of your input fields:

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

The value attribute is string value that is sent to the server for every checked checkbox and you can specify its value in the html tag:

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

The checked property gives you the desired boolean that shows whether or not the checkbox is checked.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM