<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#container {
width:1000px;
margin:0 auto;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script language="javascript" >
function response(obj)   
{
var oComment=obj.parentNode;
//找到当前留言对象点
oComment.appendChild($("#response").get(0));  
//appendChild添加子标记
$("#response").get(0).style.display="block";
$('commentId').value = oComment.getElementsByTagName('span')[0].innerHTML;
}
$(document).ready(function(){
$("#add").click(function(){
 var uid=$("#uid").val();
 alert(uid);
 var u_Content=$("#replyContent").val();
 alert(u_Content);
$.ajax({
   
})
   })
})</script>
</head>
<body>
<div id="container">
  <?
for($i=0;$i<3;$i++)
{
   
?>
  <p>
   xxxxxxxxxxxxxxxxxxx
  </p>
  <p> <span style="display:none;">
    <?=$i?>
    </span>
  <div style="border-bottom:1px solid #CCC"> <a href="#" onClick="response(this)"><font style="color:#66F">回复</font></a></div>
  </p>
  <?  }
 ?>
  <div id="response" style="display:none;">
    <form name="myform" action="" method="POST" enctype="text/plain">
      <textarea style="width:300px;height:100px; margin:3px 0 0 20px; border:#C90 1px solid;" name="replyContent" id="replyContent"></textarea>
      <input type="hidden" name="uid" id="uid"/>
      <p>
        <input value="提交" type="submit" style="margin:10px 0 0 300px; padding:2px; border:#C60 1px solid;" id="add"/>
    </form>
  </div>
  <!--end#response-->
</div>
<!--end#container-->
</body>
</html>问题:不能获取到$i这个回复对象id 自然插入数据库也不可能了 怎样能获取到这个$i 呢?

解决方案 »

  1.   

    你的 span 在 container 中,但不在 oComment 中。当然找不到啦
    <div>  <p>
      xxxxxxxxxxxxxxxxxxx
      </p>
      <p> <span style="display:none;">
      <?=$i?>
      </span>
      <div style="border-bottom:1px solid #CCC"> <a href="#" onClick="response(this)"><font style="color:#66F">回复</font></a></div>
      </p>
    </div>var oComment=obj.parentNode.parentNode;这样就能找到了
      

  2.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
    #container {
    width:1000px;
    margin:0 auto;
    }
    </style>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
    <script language="javascript" >
    function response(obj)   
    {
    var oComment=obj.parentNode;
    //找到当前留言对象点
    oComment.appendChild($("#response").get(0));  
    //appendChild添加子标记
    $("#response").get(0).style.display="block";
    $('commentId').value = oComment.getElementsByTagName('span')[0].innerHTML;
    }
    $(document).ready(function(){
    $("#add").click(function(){
     var uid=$("#uid").val();
     alert(uid);
     var u_Content=$("#replyContent").val();
     alert(u_Content);
    $.ajax({
       
    })
       })
    })</script>
    </head>
    <body>
    <div id="container">
      <?
    for($i=0;$i<3;$i++)
    {
       
    ?>
      <p>
       xxxxxxxxxxxxxxxxxxx
      </p>
      <p> <span style="display:block;">
       <input type="text" name="uid" value="<?=$i?>" id="uid"/>
        </span>
        
      <div style="border-bottom:1px solid #CCC"> <a href="#" onClick="response(this)"><font style="color:#66F">回复</font></a></div>
      </p>
      <?  }
     ?>
      <div id="response" style="display:none;">
        <form name="myform" action="" method="POST" enctype="text/plain">
          <textarea style="width:300px;height:100px; margin:3px 0 0 20px; border:#C90 1px solid;" name="replyContent" id="replyContent"></textarea>
          
          <p>
            <input value="提交" type="submit" style="margin:10px 0 0 300px; padding:2px; border:#C60 1px solid;" id="add"/>
        </form>
      </div>
      <!--end#response-->
    </div>
    <!--end#container-->
    </body>
    </html>我改成这样也不行啊 请赐教 谢谢!
      

  3.   

    使用JQuery获取的对象被称作JQuery对象,比如$("#id"),$("p"),$(document)。
    这些对象和我们在JavaScript里面使用getElementById等函数获取的DOM对象是不一样的。
    一般地,JQuery对象只能使用JQuery包装过的方法。比如$("#idname").html();就可以获取ID为idname的innerHTML,但是如果你使用$("#idname").innerHTML;则无法获取其中的HTML内容。
    你的JS代码里面先是传入的一个DOM对象,接着又使用DOM对象中的方法来操作JQuery对象,肯定是不行的。结论:
    1.JQuery对象只能使用JQuery包装过的函数和属性来操作。除非返回的结果是数字、字符串、数组。因为数字、字符串、数组、布尔类型等不是DOM对象或JQuery对象所独有的。而是JavaScript本身具有的。
    2.如果JQuery的函数或者属性用于返回DOM对象的,那么才可以用DOM对象的方式来操作。
    3.如果你想将一个DOM对象转换为JQuery对象,可以使用$(DOM对象名)的方法。
    例如:
    var oComment=document.getelementById("idname");
    $(oComment);  //这里就得到了一个JQuery对象,相当于$("#idname");
    4.使用JQuery的程序员,最好在电脑里带上一本JQuery API中文帮助文档。