【问题标题】:PHP : Return a bool from Javascript confirm method [duplicate]PHP:从Javascript确认方法返回一个布尔值[重复]
【发布时间】:2014-08-31 12:51:16
【问题描述】:

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

<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 = ???;

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

提前致谢。

【问题讨论】:

  • 你不能。以另一种方式进行,例如 AJAX 或确认页面。
  • 确认功能按照您在此处提到的所有操作....如果单击确定,则执行操作或以其他方式处理,它保留在同一页面上
  • 使用这个var x = confirm('Press a button');。如果用户点击确定,x 将是true 如果用户点击取消,x 的值将是false

标签: javascript php boolean confirm


【解决方案1】:

这个解决方案很简单,可以看这里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);
 });

用户点击OK输出0,点击Cancel输出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

【讨论】:

  • 在我的问题中,我说我想在 PHP 代码中获取 TRUE 或 FALSE(0 或 1),而不是在 javascript 中。但无论如何谢谢..
  • 您是否已将其修复或需要对上述评论的帮助..??
  • 不,我正在尝试使用 GET 或 POST 方法解决它..
  • 你要我为你写一个 AJAX GET 或 POST 吗??
  • 那真是太好了!因为我刚开始使用 PHP.. 而且,你知道.. 我还在学习 :) 提前谢谢
【解决方案2】:

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"; }
?>

然后在你处理页面的body之后添加

<?php echo $text; ?>

【讨论】:

  • 检查条件==TRUE有什么用??如果确认成功,结果将为 TRUE,并且 if() 将自动工作
  • 因为他是新手,我想我会说得很清楚
【解决方案3】:

用户在客户端确认,你想在服务器端做点什么。 正如 cmets 所说,使用 AJAX(我建议你使用像 jquery 这样的 JS 框架)。

AJAX tutorial

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多