如何实现像QQ一样的回复模式
用asp做留言板时,怎么实现像QQ空间留言板那样,当点回复时就在要回复的地方出现一个输入框?能不能给个简单的代码示例啊? 我设了一个id,但效果不佳,不是每条留言的回复框都可以打开,而且打开的回复框都在一个位置,以下是我的代码,帮忙看看吧
<head>
<script type="text/javascript">
function changeBody(index){
switch(index){
case 1:{
document.getElementById('iDBody1').style.display = "";
document.getElementById('iDBody2').style.display = "none";
break;
}
case 2:{
document.getElementById('iDBody1').style.display = "none";
document.getElementById('iDBody2').style.display = "";
break;
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>主页面</title>
</head>
<body>
<%
set conn=server.CreateObject("adodb.connection")
conn.open"dsn=Discuss;uid=sa;pwd=sa"
strSql="select * from Content order by CreateTime desc"
set rs=conn.execute(strSql)
%>
<center><img src="sheji .jpg" width="1096" height="169" /></center>
<table width=603 height="23" align="center"><tr align="left">
<td width=596 lagin="left" ><font face="幼圆" color="#990033"> 欢迎光临:
<%=request.QueryString("UserName")%>
<a href=look.asp style="text-decoration:none">查看留言 </a>
<a href=write.asp?UserName=<%=request.QueryString("UserName")%> style="text-decoration:none" >写留言 </a>
<a href=seek.asp style="text-decoration:none">查看留言 </a>
<a href=back.asp style="text-decoration:none">退出留言</a></font>
</font></table>
<hr color="#993300" width="80%" align="center"/>
<%
do while not rs.eof
%><hr color="#993300" width="70%" align="center" />
<table width="70%" height="173" align="center">
<tr>
<td width="8%" rowspan="2" ><img src="images/<%=rs("Logo")%> "width="83" height="79" /><hr color="#993300" /><%=rs("UserName")%>
<hr color="#993300" />
<%=rs("Lesson")%></td>
<td width="15%" height="17">主题:</td>
<td width="62%"><%=rs("Subject")%></td>
<td width="15%"><%=rs("CreateTime")%></td>
</tr>
<tr>
<td height="145" colspan="3"><%=rs("Words")%></td>
</tr>
</table>
<center><a href="javascript:changeBody(1)"> 回复</a>
<a href="javascript:changeBody(2)">收起</a> </center>
<div style="display: none" id="iDBody1">
<form method="post" name="AnswerWords" anction="main.asp">
<table border="1"width="50%" height="66" align="center">
<tr><td>
<textarea rows="3" name="AnswerWords" cols="100"></textarea>
</td></tr>
</table>
<center>
<input type="submit" value="提交" name="b1">
<input type="reset" value="取消" name="b2">
<input type="button" value="关闭" name="b3" onclick="window.close()"></center>
</form>
</div>
<div style="display: none" id="iDBody2">
</div>
<%
rs.movenext
loop
%>
<br><br><br>
<br><img src="" alt="怎么实现像QQ一样的回复模式" name="tupian" width="110" height="110" align="left" style="background-color: #990066" />
</br>
<br><br><br><br><br> <br>
<br><br><br> <img name="bb" src="" width="110" height="110" alt="怎么实现像QQ一样的回复模式" style="background-color: #0066FF" />
</br>
<br><br>
<br>访问量</br>
<br><br>
<font color="#993399">当前时间为:</font>
<%
response.write("<br><br>")
dim mydate
mydate =time()
response.write(cstr(mydate))
%>
<br><br><br><br><br> <br>
<hr color="#993300" width="80%" align="center"/>
</body>
</html>
[解决办法]
<div style="display: none" id="iDBody1">
每个循环下生成的代码都是id="iDBody1",所以js只能显示第一个了
你可以加一个计数器i,i随着循环+1,然后改成<div style="display: none" id="iDBody<%=i%>">,这个相应改成<center><a href="javascript:changeBody(<%=i%>)"> 回复</a>