javascript - 在 PHP 中提交表单后的警报消息
问题描述
我正在使用带有 POST 方法的表单来应用会话,一旦提交表单,页面就会重新加载,并且我不能在屏幕上看到任何警报。
所以我使用了我在网上找到的一些技巧,但它有一个问题,在提交表单后弹出警报但页面设计不起作用,这意味着我只有空白页和警报消息。
单击“确定”关闭警报消息后,页面加载。
if(empty($_SESSION["shopping_cart"])) {
$_SESSION["shopping_cart"] = $cartArray;
$status = "Product is added to your cart!";
header('location:product.php?status=success');
}else{
$array_keys = array_keys($_SESSION["shopping_cart"]);
if(in_array($code,$array_keys)) {
$status = "Product is already added to your cart!";
header('location:product.php?status=failed');
} else {
$_SESSION["shopping_cart"] = array_merge($_SESSION["shopping_cart"],$cartArray);
$status = "Product is added to your cart!";
header('location:product.php?status=success');
}
}
// This right here responsible to alert the message according to the status.
if( $_GET['status'] == 'success') {
echo '<script> alert("welldone"); </script>';
}
else{
echo '<script> alert("no good"); </script>';
}
如何解决页面加载顺序,以便页面先加载,然后警报加载?
解决方案
经过长时间的研究,我找到了使用jQuerydelay()
函数延迟警报消息的解决方案,该延迟允许HTML页面加载然后执行警报。感谢所有帮助我得到这个结果的人。
<script>
$(document).ready(function(){
setTimeout(function() {
<?php
if( $_GET['status'] == 'success') {
echo 'alert("welldone");';
}
else{
echo 'alert("no good");';
}
?>
}, 500);
});
</script>
推荐阅读
- django - 如何在 Django 中的特定类别下显示子类别?
- python-3.x - 无法获得分数的 Entry 对象
- azure - 将 Azure-Data-Explorer 与 Azure-Data-Lake-Gen2 连接
- cordova - Phonegap 和 Cordova 版本
- java - 通过 java 执行 SQL 查询时出现“java.sql.SQLException: Invalid column index”错误
- angular - TypeError:this.service.x 不是函数
- c - 当替换字符串数组中的值时,我在使用“”而不是“”时得到一个数组
- java - Spring验证:类属性VS构造函数参数中验证注解的区别
- javascript - 为什么单击机器人框架测试中的下一个元素后 datepicker 输入字段的值会消失?
- python - 如何在python中以N为参数打印文件的前N行