如何解决当有人单击打开的链接时,控制文本区域
| 我在一页中有很多文本区域,我通过一个称为““ comment \”的链接获得了它们,所以她的想法是我在php中编写了一个代码,其中包括当用户单击“ comment \”时的一种形式。 if(isset($ _ GET [\'comments \'])){$ comments = $ _GET [\'comments \']; } 如果(!isset($ _ GET [\'comments \'])){ $ comments = \“ \”; } 如果($ comments == \“ ok \”){ echo \"<tr><td colspan=\'6\' align=\'center\'>\";
echo \"<span class=\'rePost\'>Re : </span><span
class = \'blogerName \'> $ blog-> ByName \“;
包括\“ postComments.php \”;回声
\“ \”;
} ?>
现在,当用户单击评论时,它仅包含评论文本区域
但是在同一页面上有一个以上的线程,或者在同一页面上我可以说一个以上的帖子,因此,当用户单击帖子上的“评论”时,所有其他帖子都会获得其下方的文本区域。
我需要的是,当用户单击帖子“ 1”上的评论时,文本区域显示在帖子“ 1”下方,而不是页面上的2或3或其他任何一个。
希望我能使您达到我想要的程度。
我认为可以通过Java来完成,或者如果有人有其他想法,请将其发布给我。
解决方法
就像我说“ Java”时所说的那样,最好用JavaScript来实现您想要的。正如评论者所指出的那样,两者并不相关。
基本上有两种方法可以解决此问题。
你可以:
a)始终将所有TextAreas和页面一起放出,但给它们提供带有
display:none
的CSS类。您设置为不可见的每个TextAreas或其周围的容器也需要具有唯一的ID。
然后,您可以使用JavaScript函数将另一个没有display:none
属性的类分配给任何单个ID。
b)放空元素,这些元素应该在以后的文本区域中显示,但还要具有唯一的ID。然后,您可以在需要时通过Javascript(AJAX)加载HTML。这是一个不错的选择,如果有很多可能的元素,并且始终将所有元素都排除在外,会使您的页面变得不堪重负。
该网站是否使用jQuery之类的JS框架?无论如何,这可能会让您开始实施上述选项a:
<!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
是要显示/隐藏的元素数减一...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。