Hello Everyone我是php的新手,正在做一个项目。我的问题是我正在审查页面并使用while循环从3个表中获取数据。
问题是我想创建评论回复系统。我在循环中使用文本区域进行注释,并在按钮单击时显示文本区域,但是当我单击按钮时,每个文本区域都可见,这是我不想要的。我认为问题是由于while循环。 请建议我一个正确的想法。 提前谢谢你。
Php part:
<div class="feedback-list">
<!--img class="doc-img"src="img/doc-img.png" alt="tempimg" height="100" width="100"/>
<div class="feedback-header"-->
<?php
while($row1=mysql_fetch_array($result1))
{
$username1=$row1['username'];
$rtitle=$row1['reviewtitle'];
$rexperience=$row1['experience'];
echo '<div class="feedback"><img class="doc-img" src="img/doc-img.png" alt="temp img" height="100" width="100"/><div class="feedback-header">Rivew by <a href="#"> '.$username1.'</a>
<span class="stars" id="star1"><img src="img/stars.png"/></span>
</div>
<p> '.$rtitle.'</p><br/>
<p> '.$rexperience.'</p>
<form action="submitcomment.php" method="post" name="frms">
<!--button type="submit" onclick="showCommentBox()">Reply</button><br/-->
<input type="button" value="Reply" onclick="showCommentBox('.$row1['reviewid'].')"><br/>
<div class="hidden" id="comment">
<!--p>Comments and suggestions:<br><textarea name="comments" rows="3" cols="30" ></textarea><br><br>
<input type="submit" name="sub" value="Confirm"></p-->
</div>
</form>
<span class="read-more">Read More</span>
<span class="added-by">added on 25 March</span>
</div>';}?>
脚本:
<script type="text/javascript">
function showCommentBox(x){
//alert(x);
var div=document.getElementById('comment');
div.className='visible';
document.getElementById("comment").innerHTML =
'<br/><textarea maxlength="5000" cols="30" rows="3" name="comments"></textarea>' +
'<input type="submit" name="sub" value="Confirm">';
}
</script>
答案 0 :(得分:0)
所有具有相同的DOM ID:
<div class="hidden" id="comment">
^^^^^^^^^^^^
这是不允许的。 ID必须在整个页面中唯一。因此,getElementById()
只返回一个匹配的元素,它通常是它找到的第一个匹配元素 - 继续搜索只有一个可以存在的东西没有意义,对吗?
你可能想要更像
的东西 <div class="hidden" id="comment{$id}">
<button onclick="showComment($id);" >
function showComment(id) {
foo = document.getElementById('comment' + id);
}