警报框陷入无限循环

Alert box stuck in endless loop

我有一个 alert 框,它应该在用户单击“确定”时刷新页面。而不是发生这种情况,警告框会消失,然后在用户单击“确定”时重新出现。

陷入死循环!

<?php
if(isset($_POST['submit'])) {
  echo'
  <script>
  alert(\'Reply successfully flagged!\');
  window.location.reload();  
  </script>
  ';
}
?>

<form method="post">
<input type="submit" name="submit">
</form>

注意:我需要 alert 出现在 if 语句中 - 我不能只使用纯 Javascript(例如 onclick)!

这里的问题是,当你重新加载时,它会触发发送POST参数,即$_POST['submit'] 将被设置.最好设置一个 SESSION 标志。

<?php
if(isset($_POST['submit'])) {
  echo'
  <script>
  alert(\'Reply successfully flagged!\');
  location.href = location.href;  
  </script>
  ';
}
?>

改变

window.location.reload(); 

location.href = window.location.href;