PHP:从Javascript确认方法返回一个bool

时间:2014-07-10 08:18:07

标签: javascript php boolean confirm

我想询问用户是否要从数据库中删除一行,所以我这样做:

<script>
function show_confirm() {
    var x;
    if (confirm("Press a button!") == true) {
        x = "You pressed OK!";
    } else {
        x = "You pressed Cancel!";
    }
    document.getElementById("demo").innerHTML = x;
}
</script>
PHP页面上的

我称之为:

print "<a href='http://www.google.com' onclick='return show_confirm();'> Google </a>";
$userAnswer = ???;

我如何知道用户是按OK还是取消? (这样我可以做不同的治疗)。

提前致谢。

3 个答案:

答案 0 :(得分:0)

用户在客户端确认,并且您想在服务器端执行某些操作。 正如评论所说,使用AJAX(我建议你使用像jquery这样的JS框架)。

AJAX tutorial

if (confirm("Press a button!") == true) {
    // OK
} else {
    // CANCEL
}

答案 1 :(得分:0)

PHP在页面显示之前完成,因此它是一个预处理器。当页面显示时它无法响应项目 - 这是Javascript的角色。

最好这样做是为了定义一个div(例如id的答案),让你的javascript将一些东西传递到一个php页面并将答案放在div中。类似的东西:

function show_confirm() {
    var x;
    if (confirm("Press a button!") == true) {
       x = 1;
    } else {
       x = 0; }
    $("#answer").load("yourphpprocesspage.php?answer=" + x);

}

然后在PHP中为流程页面写一些内容,如:

<?php
  if ($_GET['answer'] == 1)
     {$text = "You pressed confirm";}
  else
     {$text = "Your pressed cancel"; }
?>

然后在处理页面的正文中添加

<?php echo $text; ?>

答案 2 :(得分:0)

此解决方案非常简单,可在此处DEMO

查看
<input type="button" id="myButton" value="Click Me">

javascript部分是:

 $("input").on("click", function() {
 var output = 1;
 if(confirm("You really??"))
   {
     output=0;
    }

  alert(output);
 });

当用户点击确定时输出为 0 ,当点击取消 1 时p>

  

这是您可以在此处阅读的AJAX POST请求:

$.POST("yourphpfile.php", data, fucntion(response) {
 if(!response) {
    alert("Server not responding");
 }
 else {
    //Do what ever you want.!!
 }
});

另请阅读此AJAX REQUEST POST Type