PHP - 根据用户单击的按钮返回true或false

时间:2013-11-28 20:09:54

标签: javascript php html user-defined-functions

我正在尝试制作PHP版本的JavaScript的confirm()命令:

<!DOCTYPE html>
<?php
    function confirm($title, $text) {
        $html = '<div id="alert" style="background-color:white; text-align:center; height:400px; width:300px; color:black; position:fixed; top: 0; left:50%; margin-left:-150px; border:1px solid black; box-shadow: 5px 5px 10px gray;">';
        $html = $html . '<h1 style="background-color:red; border-radius: 15px;">'. $title . '</h1>';
        $html = $html . '<span style="font-size: 20px;">The page at ' . $_SERVER['SERVER_NAME'] . ' says...</span><br><br>' . $text;
        $html = $html . '<br><br><button type="button" style="border-radius:25px; height:50px; width:100px; background-color:lightGray; border:1px solid black;" onclick="this.parentNode.style.display=\'none\'">OK</button>';
        $html = $html . '<button type="button" style="border-radius:25px; height:50px; width:100px; background-color:lightGray; border:1px solid black;" onclick="this.parentNode.style.display=\'none\'">Cancel</button>';
        echo $html;
    }
?>

如何根据用户点击的按钮返回true或false?

1 个答案:

答案 0 :(得分:0)

制作你的HTML

还有另一种不那么混乱的方式
$html = '<div id="alert" style="background-color:white; text-align:center; height:400px; width:300px; color:black; position:fixed; top: 0; left:50%; margin-left:-150px; border:1px solid black; box-shadow: 5px 5px 10px gray;">';
$html.= '<h1 style="background-color:red; border-radius: 15px;">'. $title . '</h1>';
$html.= '<span style="font-size: 20px;">The page at ' . $_SERVER['SERVER_NAME'] . ' says...</span><br><br>' . $text;
$html.= '<br><br><button type="button" style="border-radius:25px; height:50px; width:100px; background-color:lightGray; border:1px solid black;" onclick="this.parentNode.style.display=\'none\'">OK</button>';
$html.= '<button type="button" style="border-radius:25px; height:50px; width:100px; background-color:lightGray; border:1px solid black;" onclick="this.parentNode.style.display=\'none\'">Cancel</button>';
echo $html;  

编辑 - 要从php中获取用户的值,您必须使用ajax,表单或_GET协议。请注意,一旦在屏幕上,你的html代码就不再链接到任何php脚本了。你的php函数在调用期间执行,而javascript函数在客户端执行。你不能从页面调用函数并在php函数中使用返回值。您可以做的是在单击按钮时重新加载页面,并在您的网址中显示您想要的值。注意onclick属性。

<button type="button" style="border-radius:25px; height:50px; width:100px; background-color:lightGray; border:1px solid black;" onclick="window.location.href='yourscript.php?confirm=false'">Cancel</button>
<button type="button" style="border-radius:25px; height:50px; width:100px; background-color:lightGray; border:1px solid black;" onclick="window.location.href='yourscript.php?confirm=true'">OK</button>

另外,您的按钮可以被锚点替换,就像它们一样(它们可以具有与按钮完全相同的样式):

<a href="yourscript.php?confirm=false">cancel</a>
<a href="yourscript.php?confirm=true">OK</a>

你可以在php脚本中检索这样的值:

$confirm = (isset($_GET['confirm']) ? $_GET['confirm'] : '');