隐藏/显示PHP生成表单的按钮

时间:2016-06-04 14:40:14

标签: javascript php html

我在PHP中有两种形式,它们有不同的用途。现在,只有管理员登录才能看到它们。这段代码可以正常使用

<?php           
    if (isset($_SESSION['username']))
        {
            echo '</nav>
            <br><br>  <div class="blogscript">
            <form id="form1" action="sent.php" method="post"> New page<br>
            <input type="text" placeholder="Title" method="POST" name="pagetitle" /><br><br>
            <textarea id="message" name="message</textarea><br>
            <input type="submit" value="Confirm" />
            </form></div>'; 
        }   

    if (isset($_SESSION['username']))
        {
            echo '</nav>
            <br><br>  <div class="collagescript">
            <form id="form2" action="sent.php" method="post"> New collage<br>
            <textarea id="collage" name="message"></textarea><br>
            <input type="submit" value="Confirm" />
            </form></div>'; 
        }   

            ?>

即使对于管理员,我也不希望表单的默认设置可见,我只想在点击按钮时显示它们,然后说出&#34;显示表单1&#34;和&#34;显示表格2&#34;。

我该如何处理?我不知道是否使用Javascript或纯PHP,在PHP的情况下,我不知道如何切换可见性。我对javascript感觉更舒服,但我甚至不知道你可以将php与javascript结合起来。

PS:通过切换可见性,我并不意味着切换不透明度。

2 个答案:

答案 0 :(得分:1)

早期的答案链接到如何使用jQuery实现这一点。要在不加载jQuery库的情况下执行相同的操作,这应该可以帮助您入门:

//On document ready
document.addEventListener('DOMContentLoaded', docReady, false);

function docReady(){
  document.getElementById('f1').addEventListener('click', fnF1, false )
  document.getElementById('f2').addEventListener('click', fnF2, false )
}
function fnF1(){
  document.getElementsByClassName('blogscript')[0].style.display = 'block';
  this.style.display = 'none';
}
function fnF2(){
  document.getElementsByClassName('collagescript')[0].style.display = 'block';
  this.style.display = 'none';
}
.blogscript{display:none;}
.collagescript{display:none;}
<div class="blogscript">
  <form id="form1" action="sent.php" method="post">New page
    <div>
      <input type="text" placeholder="Title" method="POST" name="pagetitle" />
    </div>
    <div>
      <textarea id="message" name="message"></textarea>
    </div>
    <input type="submit" value="Confirm" />
  </form>
</div>
<div class="collagescript">
  <form id="form2 " action="sent.php " method="post ">New collage
    <div>
      <textarea id="collage " name="message "></textarea>
    </div>
    <input type="submit " value="Confirm " />
  </form>
</div>
<button id="f1">Show Form 1</button>
<button id="f2">Show Form 2</button>

注意:

(1)要创建纯js slideUp / slideDown效果,请参阅:

https://gist.github.com/ludder/4226288

(2)jQuery更简单,输入明显更少,但需要加载jQuery库。要加载jQuery库,只需在<head>标记中或</body>标记之前添加指向其CDN位置的链接:

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
</head>

答案 1 :(得分:0)

这个问题已被问过数百次。但万一你无法找到链接:

Jquery Toggle Show/Hide Div

你会想要使用javascript。链接的方法非常简单。你也可以使用纯CSS,但Javascript更兼容。