当我在不使用 PHP 标头函数的情况下确认使用 Javascript 时,如何重定向到另一个 PHP 页面

Posted

技术标签:

【中文标题】当我在不使用 PHP 标头函数的情况下确认使用 Javascript 时,如何重定向到另一个 PHP 页面【英文标题】:How Can i redirect to another PHP Page when i Confirm using Javascript without using PHP header Function 【发布时间】:2022-01-02 05:34:27 【问题描述】:

我有一个名为 Course Enrollment 的 php 页面,学生可以在其中注册课程或取消他的注册。当用户取消他的注册时,我创建了一个名为 confirmDelete() 的 javascript 函数,该函数在删除前发送确认消息。如果用户按下 OK,那么它会将用户重定向到 deleteEnrollment.php(我在其中执行删除)如果用户按下取消则什么也不做。

Course_Enrollment.php 代码如下

<SCRIPT language=JavaScript>

function confirmDelete() 
  if (confirm("Do you really want to delete your Enrollment?")) 
    window.location.href = "includes/deleteEnrollment.php";
    return;
   

  </script>
 <form action="" method="post" role="form">
              <button type="submit" name="cancel" class="btn btn-primary" onclick="confirmDelete()">Cancel Enrollment</button>

当我运行上面的代码时,什么也没发生。我不知道原因。当我用 header("location:includes/deleteEnrollment.php"); 更改 window.location.href 时它工作正常,但我不想使用标题,因为如果用户按是或否,PHP 代码将执行。

我的代码中的问题在哪里?..

【问题讨论】:

language=JavaScript 不再被任何现代浏览器使用 确认弹出窗口出现了吗? 我在这个链接下找到了答案***.com/questions/35083626/… 【参考方案1】:

<form action="" method="post" role="form">
    <button type="submit" name="cancel" class="btn btn-primary" onclick="return confirmDelete()">Cancel Enrollment</button>
</form>

<script type="application/javascript">
function confirmDelete() 
    if (confirm("Do you really want to delete your Enrollment?")) 
        window.location.href = "includes/deleteEnrollment.php";
        return false;
    
    return false;

</script>

return 添加到onclick 并将return 添加到JavaScript 函数。

See it in action.

【讨论】:

是的,它正在工作。请问为什么我们需要 return false ? @mhussein76 Return false 就像什么都不做,然后停止工作。 onclick 属性必须return 并在函数return false; 中跟随函数以防止form 提交。【参考方案2】:

您没有使用该按钮提交任何表单数据,因此按钮类型不应为submit。将按钮类型更改为buttonreset 即可,例如:type="button"。此外,您不需要 return 语句。

这已经回答了:window.location.href doesn't redirect

【讨论】:

以上是关于当我在不使用 PHP 标头函数的情况下确认使用 Javascript 时,如何重定向到另一个 PHP 页面的主要内容,如果未能解决你的问题,请参考以下文章

如何让 PhpMyAdmin 在不要求确认的情况下删除/截断

如何在不丢失身份验证的情况下模拟Session.request?

如何在不使用“内容长度”标头的情况下查看网页中的所有文件大小?

如何在不使用系统函数的情况下实现PHP中数组系统函数的功能

我想在不使用 slug 的情况下使 PHP seo 的博客 URL 变得友好

在不启动 PHP 会话的情况下检查?