仅使用PHP作为事件监听器使div可见

问题描述 投票:0回答:1

我正在测试以设置一个“按钮事件侦听器”,该按钮在单击按钮时将显示一个隐藏的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 hide event-listener php-7.3
1个回答
1
投票

首先检查是否为发布请求,并使用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>
© www.soinside.com 2019 - 2024. All rights reserved.