Javascript 背景前显示空白布局。使用confirm()

Javascript 背景前显示空白布局。使用confirm(),javascript,php,html,css,Javascript,Php,Html,Css,我的问题是,每当我的confirm()出现时,警报框都会毫无问题地出现,但随后背景会变成一片空白,我尝试了很多不同的方法,比如将整个if语句放在页面底部和正文底部。但到目前为止,一切都不起作用。这是我的密码。我使用php和JS的组合。顺便说一句,这是一个学校项目。 下面是它的屏幕截图: 我这样做就解决了这个问题 if (isset($_POST['kopen'])) { // hier check ik eerst als de sessie gezet is, als het z

我的问题是,每当我的confirm()出现时,警报框都会毫无问题地出现,但随后背景会变成一片空白,我尝试了很多不同的方法,比如将整个if语句放在页面底部和正文底部。但到目前为止,一切都不起作用。这是我的密码。我使用php和JS的组合。顺便说一句,这是一个学校项目。 下面是它的屏幕截图:


我这样做就解决了这个问题

  if (isset($_POST['kopen'])) {
    // hier check ik eerst als de sessie gezet is, als het zo is dan de gebruiker zou wel kunnen kopen
    if ($_SESSION) {
      $id = $_POST['menu'];
      $Userid = $_SESSION['user_id'];
      $Username = $_SESSION['username'];
      $db_conn->query("INSERT INTO `menulijst`(`user_id`, `menu_id`, `username`) VALUES ('$Userid', '$id', '$Username')"); ?>
      <div class="alert2">
        <span class="closebtn2" onclick="this.parentElement.style.display='none';">&times;</span>
        <strong>Succes!</strong> Toegevoegd aan winkelmand.
      </div>
    <?php
    } else { ?>
      <!--  maar als de sessie niet gezet is dan de klant zou een melding ktijgen 
   en er zou verteld worden dat ie eerst ingelogd moet zijn om iets te kunnen kopen. -->
      <div class="alert">
        <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span>
        <strong>Danger!</strong> Om een prodcut te kunnen kopen moet je eerst ingelogd zijn.
        <a style="color: black" href="login/pdo_login.php"><span class="glyphicon glyphicon-log-in"></span> Login</a>
      </div>
  <?php }
  } ?>```

And putting it in the body
if(isset($\u POST['kopen'])){
//请检查是否需要治疗,是否需要治疗,以及是否需要治疗
如果($\会话){
$id=$_POST['menu'];
$Userid=$\u会话['user\u id'];
$Username=$\会话['Username'];
$db\u conn->query(“插入到`menulijst`(`user\u id`、`menu\u id`、`username`)值('$Userid','$id','$username')”);?>
&时代;
成功!Toegevoegd aan winkelmand。
&时代;
危险!我是一个生产商。
```
然后把它放进身体里

这些本机浏览器对话框处于“阻塞”状态-浏览器会在您调用它们的位置停止对文档的进一步处理,直到用户处理完。如果您不希望出现这种效果,则需要在显示对话框之前,在您要显示的HTML部分之后,将这些调用进一步放在发送回客户端的文档中。(在doctype之前有一个
script
元素,一开始就是一团乱麻。)Thx对于回复,我已经把它放在了de html中,但是背面仍然是空的。你当时把它放在哪里了?(不确定这是否仍然会阻止加载外部资源,例如样式表。如果您想要一些根本无法显示这种效果的内容,请使用自定义的对话框解决方案,它本身就是内置于HTML、CSS和JS中的,而不是这些本机对话框。)我试着把它放在头上,身体上,甚至在身体之后,但仍然发生同样的事情。
  if (isset($_POST['kopen'])) {
    // hier check ik eerst als de sessie gezet is, als het zo is dan de gebruiker zou wel kunnen kopen
    if ($_SESSION) {
      $id = $_POST['menu'];
      $Userid = $_SESSION['user_id'];
      $Username = $_SESSION['username'];
      $db_conn->query("INSERT INTO `menulijst`(`user_id`, `menu_id`, `username`) VALUES ('$Userid', '$id', '$Username')"); ?>
      <div class="alert2">
        <span class="closebtn2" onclick="this.parentElement.style.display='none';">&times;</span>
        <strong>Succes!</strong> Toegevoegd aan winkelmand.
      </div>
    <?php
    } else { ?>
      <!--  maar als de sessie niet gezet is dan de klant zou een melding ktijgen 
   en er zou verteld worden dat ie eerst ingelogd moet zijn om iets te kunnen kopen. -->
      <div class="alert">
        <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span>
        <strong>Danger!</strong> Om een prodcut te kunnen kopen moet je eerst ingelogd zijn.
        <a style="color: black" href="login/pdo_login.php"><span class="glyphicon glyphicon-log-in"></span> Login</a>
      </div>
  <?php }
  } ?>```

And putting it in the body