我在一个页面中有很多文本区域我通过一个名为“comment”的链接获取它们所以她的想法是我在php中创建了一个包含表单的代码,当用户点击“comment”时这是一个Ex。< / p>
if(isset($ _ GET ['comments'])){$ comments = $ _GET ['comments']; } if(!isset($ _ GET ['comments'])){ $ comments =“”; } if($ comments ==“ok”){
echo "<tr><td colspan='6' align='center'>"; echo "<span class='rePost'>Re : </span><span
类= 'blogerName' &GT; $ blog-&GT;绰号“; 包括“postComments.php”;回声 “”;
} ?>
现在,当用户点击评论时,它只包含评论文本区域 但是这里在同一页面上有多个线程,或者我可以在同一页面上说多一个帖子,所以当用户点击帖子一上的“评论”时,所有其他帖子都会得到它下面的文本区域。 我需要的是当用户点击帖子“1”上的评论时,文本区域显示在帖子“1”下面而不是2或3或此页面上的任何其他文本区域。 我希望我能让你达到我想要的程度。
我认为可以通过java进行,或者如果有人有其他想法,请发布给我。
答案 0 :(得分:0)
你想要的最好通过JavaScript实现,因为我认为你的意思是“Java”。正如评论者指出的那两者并不相关。
基本上有两种方法可以解决这个问题。
你可以:
a)随时将所有TextAreas与页面一起放出,但是给它们一个display:none
的css类。您设置为以这种方式隐藏的每个TextAreas或其周围容器也需要具有唯一ID。
然后你可以使用javascript函数将另一个没有display:none
属性的类分配给任何一个id。
b)将空元素放在文本区域应该稍后的位置,但也使用唯一的id。然后,您需要通过Javascript(AJAX)加载HTML。如果有许多可能的元素并且将它们全部放在一边,那么这只是一个不错的选择。
该网站是否使用任何JS框架,如jQuery?无论如何,这可能会让你开始实现上面的选项:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta charset="utf-8"/>
<style type="text/css">
/*<![CDATA[*/
.hidden
{
display:none;
}
/*]]>*/
</style>
<script type="text/javascript">
// <![CDATA[
function hasClass(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
function showComment(id){
var hideID=document.getElementById('c0');
var i=0;
while (hideID!=null)
{
addClass(hideID,'hidden');
i++;
hideID=document.getElementById('c'+i);
}
removeClass(document.getElementById(id),'hidden');
}
// ]]>
</script>
</head>
<body>
<a href="javascript:showComment('c0');">show 1</a>
<a href="javascript:showComment('c1');">show 2</a>
<a href="javascript:showComment('c2');">show 3</a>
<div id="c0" class="hidden">
<textarea rows="4" cols="98">txt1</textarea></div>
<div id="c1" class="hidden">
<textarea rows="4" cols="98">txt2</textarea></div>
<div id="c2" class="hidden">
<textarea rows="4" cols="98">txt3</textarea></div>
</body></html>
这确实依赖于我们展示/隐藏的元素的ID为c0
到cN
,N
是要显示/隐藏的元素数量减去一个...