仅使用 PHP 作为事件侦听器使 div 可见
Make div visible using only PHP as event listener
我正在测试设置一个 "button event listener",它会在单击按钮时显示一个隐藏的 div。下面的代码有效,我的问题更多是是否有其他方法可以解决这个问题,只有 HTML/CSS 和 PHP ?
我完全知道 "button event listener" 在这种特殊情况下更像是一个 "superglobal $_POST variable" 检查器。
测试的目的更多是看看按钮按下是否可以从 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>
首先检查是否是 post 请求并使用 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>
我正在测试设置一个 "button event listener",它会在单击按钮时显示一个隐藏的 div。下面的代码有效,我的问题更多是是否有其他方法可以解决这个问题,只有 HTML/CSS 和 PHP ?
我完全知道 "button event listener" 在这种特殊情况下更像是一个 "superglobal $_POST variable" 检查器。
测试的目的更多是看看按钮按下是否可以从 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>
首先检查是否是 post 请求并使用 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>