情境:
我有confirmation pop up message
,当我点击OK
按钮时,它会继续或将保存我创建的条目 - 这没关系..但是当我点击CANCEL
时按钮它将返回booking_content.php
的页面 - 这个可以......
问题:
现在问题在于CANCEL
,返回页面很好,但its still saving the entry which is when I pressed the
取消it will not save and will return back to the page of
booking_content.PHP`。
问题:
单击*terminate the program*
时,CANCEL
有办法吗?我也试过EXIT;
,但它没有用......
这是我的Javascript代码和PHP:
// other if else..
else if($network == "Mass and Mobile" && $row[fldTotalDuration] == "08:00:00" && $duration >= "0 s")
{?><?php
if(sizeof($bldg) == 1)
{
echo "<script type='text/javascript'>\n";
echo "alert('$bldg[$i] station is already full.');\n";
echo "window.location='booking_content.php'";
echo "</script>";
}
else
{ ?>
<script>
var r=confirm('$bldg[$i] station is already full. Do you want to save the other networks?')
if (r==true) {
alert("OKAY BUTTON");
} else {
window.location='booking_content.php';
}
</script>
<?php
}
}
//after all the if else...
else
{
// heres my code for saving the data....
}
感谢您提前......
答案 0 :(得分:1)
你确实知道PHP在服务器上执行生成一个大字符串,然后作为包含javascript的HTML文件发送到浏览器吗?
因此,代码执行如下:
用户向'booking_content.php'发出请求。
Web服务器执行PHP以处理'booking_content.php'脚本。
执行'booking_content.php'脚本,包括else
部分,其中包含保存数据的代码。
保存数据并生成HTML字符串并发送给用户。
浏览器接收HTML并执行javascript,提示用户使用确认对话框。
你在这看到问题吗?在向用户显示确认对话框之前很久就会保存数据。
解决这个问题的方法是在用户向'booking_content.php'发出请求之前弹出确认对话框。它通常作为onsubmit
事件在表单上完成,如果数据是通过ajax提交的,则提交数据或手动调用对话框函数。
或者,如果您需要在弹出对话框之前检查服务器中的某些数据或状态,您可以使用单独的中间页面来询问确认。例如,创建一个'booking_confirmation.php',它从表单中获取数据,然后询问确认,然后在用户单击“确定”时重定向到“booking_content.php”(记住包含发布数据或查询参数)。 / p>