单击复选框时为什么我的配置没有改变?

时间:2017-10-10 01:34:16

标签: javascript php jquery checkbox

我正在尝试让复选框在检查时将变量更改为true,但每次单击它时,它只刷新页面并将配置值保留为false。

HTML代码:

<input type="checkbox" name="music">

JQuery代码:

<script>
        $( document ).ready(function() {
            var music = document.getElementsByName("music")
            $(music).click(function() {
                window.location.href = 'validate.php?music';
            })
        });
</script>

来自validate.php的代码:

if (isset($_POST["music"])) {
    $config -> SetVar("music_status", "true", "Music Status");
} else {
    $config -> SetVar("music_status", "false", "Music Status");
}

SetVar函数确实有效,因为我将它用于其他事情,它只是不希望看起来与我的复选框一起工作。任何帮助和提示将帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

你总是设置$ _GET ['音乐'],但你没有把它设置为任何东西,也没有检查它的值。 将您的JavaScript更改为

    $( document ).ready(function() {
        var music = document.getElementsByName("music")[0].checked;
        $(music).click(function() {
            window.location.href = 'validate.php?music=' + music;
        })
    });

你的php代码

if (isset($_GET["music"]) && $_GET['music'] == 'true') {