当我在不使用 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 Returnfalse
就像什么都不做,然后停止工作。 onclick
属性必须return
并在函数return false;
中跟随函数以防止form
提交。【参考方案2】:
您没有使用该按钮提交任何表单数据,因此按钮类型不应为submit
。将按钮类型更改为button
或reset
即可,例如:type="button"
。此外,您不需要 return
语句。
这已经回答了:window.location.href doesn't redirect
【讨论】:
以上是关于当我在不使用 PHP 标头函数的情况下确认使用 Javascript 时,如何重定向到另一个 PHP 页面的主要内容,如果未能解决你的问题,请参考以下文章
如何让 PhpMyAdmin 在不要求确认的情况下删除/截断
如何在不丢失身份验证的情况下模拟Session.request?
如何在不使用“内容长度”标头的情况下查看网页中的所有文件大小?