Javascript:点击CANCEL后终止程序

时间:2013-09-30 04:51:19

标签: javascript php jquery

情境:

我有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....

}

感谢您提前......

1 个答案:

答案 0 :(得分:1)

你确实知道PHP在服务器上执行生成一个大字符串,然后作为包含javascript的HTML文件发送到浏览器吗?

因此,代码执行如下:

  1. 用户向'booking_content.php'发出请求。

  2. Web服务器执行PHP以处理'booking_content.php'脚本。

  3. 执行'booking_content.php'脚本,包括else部分,其中包含保存数据的代码。

  4. 保存数据并生成HTML字符串并发送给用户。

  5. 浏览器接收HTML并执行javascript,提示用户使用确认对话框。

  6. 你在这看到问题吗?在向用户显示确认对话框之前很久就会保存数据。

    解决这个问题的方法是在用户向'booking_content.php'发出请求之前弹出确认对话框。它通常作为onsubmit事件在表单上完成,如果数据是通过ajax提交的,则提交数据或手动调用对话框函数。

    或者,如果您需要在弹出对话框之前检查服务器中的某些数据或状态,您可以使用单独的中间页面来询问确认。例如,创建一个'booking_confirmation.php',它从表单中获取数据,然后询问确认,然后在用户单击“确定”时重定向到“booking_content.php”(记住包含发布数据或查询参数)。 / p>