我正在测试以设置一个“按钮事件侦听器”,该按钮在单击按钮时将显示一个隐藏的div。下面的代码有效,我的问题是,是否还有其他解决方法,仅使用HTML / CSS和PHP?
我完全知道在这种情况下,“按钮事件监听器”更多地是“超全局$ _POST变量”检查器。
测试的目的更多是看按钮是否可以从PHP本身扫描(跳过其他逻辑,例如JS或jquery等)。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
</head>
<body>
<!-- Styling -->
<style>
.myDiv {display:none;}
</style>
<!-- Form -->
<form method="post">
<button type="submit" name="button">Show div</button>
</form>
<div class="myDiv">MyDiv text...</div>
<pre>
<?php
// Logics
// Button event listener
print_r($_POST);
if(isset($_POST['button'])) {
echo "You pressed the button!";
echo "<style> .myDiv {display:block} <style>";
}
?>
</body>
</html>
首先检查是否为发布请求,并使用php变量进行可见性:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
</head>
<body>
<?php
$display = 'none';
if(!empty($_POST)) {
if(array_key_exists('button', $_POST)) {
$display = 'block';
}
}
?>
<style>
.myDiv {display:<?php echo $display;?>;}
</style>
<!-- Styling -->
<!-- Form -->
<form method="post">
<button type="submit" name="button">Show div</button>
</form>
<div class="myDiv">MyDiv text...</div>
<pre>
<?php
print_r($_POST);
// Logics
// Button event listener
?>
</body>
</html>