Javascript - 如果cookie存在,有条件地向php页面添加复选框

时间:2014-09-07 12:47:40

标签: javascript php cookies

我有一些Javascript在PHP / WordPress页面上的提交按钮之前添加了一些免责声明文本和一个确认CheckBox。我想要发生的是脚本检查是否存在cookie。如果cookie不存在(或已过期),则添加免责声明文本,复选框并强制用户在继续之前单击复选框。但是一旦完成,就会编写一个cookie,以便下次脚本运行时,如果绕过免责声明文本,则复选框只允许用户点击“提交”。

所以,比如:

if cookie-exists {
    // straight to submit part of the code
} else {
    // show disclaimer and checkbox
    // Only allow user to hit submit if checkbox is ticked
    // Set the cookie with an expire of a day
}

我可以在这里看到关于设置/阅读cookie的答案> How do I create and read a value from cookie?

但我只是努力将其纳入下面的代码段 任何指针或帮助将不胜感激。感谢。

代码段如下:

function add_listing_select_cb()
{
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function ($){
            var checkbox_cont = '<br><input type="checkbox" name="I_Agree" id="I_Agree" value="I_Agree" /> <b>Disclaimer text here....</b>';
            jQuery(".property-search input[type='submit']").before(checkbox_cont);

            jQuery("#searchform").submit(function () {
                if (!jQuery("#I_Agree").is(":checked")) {
                    alert("Please first agree with the terms.");
                    return false;
                };
            });


            var $sel = $('#showresultsbasedonourratings'),
            $opts = $sel.children();
            $optsSorted = [];
            $optsSorted.push($opts.eq(0));
            for (var i = $opts.length - 1; i > 0; i--) {
                $optsSorted.push($opts.eq(i));
            };

            console.log($optsSorted);

            $sel.empty();
            $sel.append($optsSorted);

        });
    </script>
    <?php
}

1 个答案:

答案 0 :(得分:1)

你尝试过类似的东西吗?

function add_listing_select_cb()
{
    ?>
    <script type="text/javascript">
       function getCookie(name) {
            var value = "; " + document.cookie;
            var parts = value.split("; " + name + "=");
            if (parts.length == 2) return parts.pop().split(";").shift();
        }

        jQuery(document).ready(function ($){
            if (getCookie("anything")!==true){
                var checkbox_cont = '<br><input type="checkbox" **required** name="I_Agree" id="I_Agree" value="I_Agree" /> <b>Disclaimer text here....</b>';
                jQuery(".property-search input[type='submit']").before(checkbox_cont);

                jQuery("#searchform").submit(function () {
                    if (!jQuery("#I_Agree").is(":checked")) {
                        alert("Please first agree with the terms.");
                        return false;
                    };
                });
            }

            var $sel = $('#showresultsbasedonourratings'),
            $opts = $sel.children();
            $optsSorted = [];
            $optsSorted.push($opts.eq(0));
            for (var i = $opts.length - 1; i > 0; i--) {
                $optsSorted.push($opts.eq(i));
            };

            console.log($optsSorted);

            $sel.empty();
            $sel.append($optsSorted);

        });
    </script>
    <?php
}