cookie和模态错误

时间:2016-09-26 07:55:34

标签: javascript php jquery cookies

我使用javascript制作一个弹出窗口(模态),警告我们在网站上使用cookies的人。 点击上有一个接受按钮应该创建一个持续60天的cookie并阻止模式显示。但当我点击按钮时,我收到错误,说我无法修改标题,因为它已经发送了。

模态javascript取自w3schools并且有效,但是我的浏览器出现错误"无法设置属性' onclick' of null"。

继承人代码:

<?php
  $cookie_name = "V3-cookies";

  if(!isset($_COOKIE[$cookie_name])) {
    include $_SERVER["DOCUMENT_ROOT"] . "/etc/cookie.php";
  } else {}
?>

这是/etc/cookie.php:

  <form id="modal" method="post" action="">
        <div class="modalconent tabs">
            <fieldset>
            <span class="close">×</span>
              <h2 class="fs-title">Cookies</h2>
              <h3 class="fs-subtitle">We use cookies to improve your experience</h3>
                 <iframe style="width:100%; height:80px;" src="/etc/txt/cookies.php" ></iframe><br />
               <input type="submit" name="cookie" value="Accept" class="btn fr" style="width:20%;" />
            </fieldset>
        </div>
    </form>
    <?php
      if(isset($_POST['cookie'])){
        $cookie_name = "V3-cookies";
        $cookie_value = "V3-cookies";
        setcookie($cookie_name, $cookie_value, time() + (86400 * 60)); // 86400 = 1 day
      }else{}
    ?>


    <script>
    window.onload = function () {
        document.getElementById('button').onclick = function () {
            document.getElementById('modal').style.display = "none"
        };
    };





    // Get the modal
    var modal = document.getElementById('modal');

    // Get the <span> element that closes the modal
    var span = document.getElementsByClassName("close")[0];

    // When the user clicks on <span> (x), close the modal
    span.onclick = function() {
        modal.style.display = "none";
    }

    // When the user clicks anywhere outside of the modal, close it
    window.onclick = function(event) {
        if (event.target == modal) {
            modal.style.display = "none";
        }
    }
    </script>

javascript错误,其中属性&#39; onlick&#39;是null就在这里 (第二行)

   window.onload = function () {
        document.getElementById('button').onclick = function () {
            document.getElementById('modal').style.display = "none"
        };
    };

标题php错误我不知道出了什么问题。

所有2个问题都是如此。 1.如何修复php在按钮点击时设置cookie? 2.如何在onlick为空时删除浏览器错误? (2.并不重要,只是我讨厌有错误)

1 个答案:

答案 0 :(得分:0)

我通过添加另一个设置cookie的页面解决了这个问题。所以来自cookie.php的<form>将是<form actio="/etc/set_cookie.php" method="post">,而set_cookie.php我使用与之前相同的PHP脚本。

我发布了这个答案,让人们知道将来。