2014-04-11 117 views
-2

大家好我是新来的PHP和做一个项目。我的问题是我正在审查页面上使用while循环从3个表中获取数据。回复评论系统

问题是我想创建评论回复系统。我正在循环中使用文本区域进行评论,并在按钮单击时显示文本区域,但是当我点击按钮时,每个文本区域都可见,我不想要。我认为问题是由于while循环。 请给我一个正确的想法。 提前感谢您。

PHP的一部分:

<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> 
+1

哪里是'ID = “评论”'textarea的?我没看到它。 **请**正确地缩进您的代码。现在很乱。 – David

回答

0

ALL您的评论框具有相同的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); 
}