Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态隐藏显示_Php_Javascript_Html_Comments_Show Hide - Fatal编程技术网

Php 动态隐藏显示

Php 动态隐藏显示,php,javascript,html,comments,show-hide,Php,Javascript,Html,Comments,Show Hide,我正在写一个博客,我已经把它设置好了,这样你就可以在博客上留言了。我不喜欢所有评论和条目表单使用多少垂直空间,所以我希望在您单击的每个条目上都有一个链接,它会显示条目表单和评论。我在想一个类似“评论(5)”的链接。我一直在其他网站上看到这个,但我不知道如何自己创建它 这是其中一个条目的一些HTML: <div class="comments"> <form action="foxpost.php" method="post"> <label for="name"&

我正在写一个博客,我已经把它设置好了,这样你就可以在博客上留言了。我不喜欢所有评论和条目表单使用多少垂直空间,所以我希望在您单击的每个条目上都有一个链接,它会显示条目表单和评论。我在想一个类似“评论(5)”的链接。我一直在其他网站上看到这个,但我不知道如何自己创建它

这是其中一个条目的一些HTML:

<div class="comments">
<form action="foxpost.php" method="post">

<label for="name">Name</label><br>
<input id="name" name="name" type="text" /><br>
<label for="message">Comment</label><br>
<textarea class="message" id="message" name="message"></textarea><br><br>
<input type="hidden" name="post_id" value="7" />

<input type="Submit" value="Post Comment" />
</form>
<?php
displayComments(7);
?>      

</div>

名称

评论


显示注释();函数就是从数据库中提取注释的PHP


我能想到的唯一一件事是更改to并为每个评论区域使用不同的ID(如“comments2”、“comments3”等),然后使用涉及document.getElementByID().style.display的javascript函数为每个“commentsX”分区更改不同的CSS条目。尽管看起来有些臃肿,因此,我想知道是否有一种更简单的方法可以动态显示和隐藏我的表单和捕获注释的php函数。

既然您要求一种更简单的方法,我会选择jQuery,无需为它们分配不同的ID,您只需使用一个类,jQuery就会自动显示相应的元素,如下所示:

$('a.comment').click(function(){
  $(this).nextAll('.form').slideDown('slow');
});

其中,
a.comment
表示与class
comment
的链接,
.form
表示包含您的注释的元素的类。

如果可以隐藏整个comments div,您可以给它一个ID:

<div class=comments id=comments>

他自己提出,他想知道一个更简单的方法:)难道他不想通过改变每个评论的div来表达吗?这个小小的变化和一句话似乎很简单。
document.getElementById("comments").style.display = "block"