Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取要在线程下显示的注释_Javascript_Html_Css - Fatal编程技术网

Javascript 如何获取要在线程下显示的注释

Javascript 如何获取要在线程下显示的注释,javascript,html,css,Javascript,Html,Css,我试图创建一个论坛,用户可以通过填写带有姓名和消息的表单来创建帖子,人们可以通过点击评论按钮(更多)对每个帖子发表评论,打开帖子下方的所有评论,然后提交评论表单 目前,我正在使用一个表来显示所有线程帖子和评论,问题是当我单击“更多评论”按钮时,它会在一个新表列的侧面打开评论,但我希望它在线程帖子下面打开。我试着在下面的新表行中放置注释,但这不起作用。因此,所有评论都需要显示在帖子下方,所有评论下方都会有一个表单,用户可以填写表单提交评论 下面是它现在的样子: 函数注释(){ var table

我试图创建一个论坛,用户可以通过填写带有姓名和消息的表单来创建帖子,人们可以通过点击评论按钮(更多)对每个帖子发表评论,打开帖子下方的所有评论,然后提交评论表单

目前,我正在使用一个表来显示所有线程帖子和评论,问题是当我单击“更多评论”按钮时,它会在一个新表列的侧面打开评论,但我希望它在线程帖子下面打开。我试着在下面的新表行中放置注释,但这不起作用。因此,所有评论都需要显示在帖子下方,所有评论下方都会有一个表单,用户可以填写表单提交评论

下面是它现在的样子:

函数注释(){
var table=document.getElementById(“注释”);
var行=table.insertRow(-1);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var name=document.getElementById(“name”).value;
var message=document.getElementById(“message”).value;
cell1.innerHTML=名称;
cell2.innerHTML=消息;
}
函数add(){
var table=document.getElementById(“主表”);
var行=table.insertRow(-1);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var name=document.getElementById(“name”).value;
var message=document.getElementById(“message”).value;
cell1.innerHTML=名称;
cell2.innerHTML=消息;
}
功能切换\u可见性(id){
var btn=document.getElementById('commentBtn');
var e=document.getElementById(id);
如果(e.style.display=='block'){
e、 style.display='none';
btn.innerHTML=“更多”;
}否则{
e、 style.display='block';
document.getElementById(“commentBtn”).value=“Less”;
btn.innerHTML=“Less”;
}
}
表格{
字体系列:arial,无衬线;
边界塌陷:塌陷;
}
运输署,
th{
边框:1px实心#dddddd;
文本对齐:左对齐;
填充:8px;
}
tr:n个孩子(偶数){
背景色:#dddddd;
}
测试
名称
消息
评论
蒂亚戈
你好,你好吗?
更多
测试评论1

测试评论2

提交评论 提交 注释名称应显示在此处 注释消息应显示在此处

提交消息 提交
您确实为消息和评论复制/粘贴了相同的函数和表单,但无法正常工作

如果在一种情况下添加行,在另一种情况下,您希望在容器中添加文本

您需要创建一个不同的HTML结构,您可以向表中添加一行,但是对于注释,一个包含文本的div就足够了

下面是代码中的一个示例

首先,我在表单顶部添加了一个容器来接收注释,我重命名了ID,这样它们就只有一个了

对于演示,我添加了returnfalse;在单击按钮时,请在使用前将其移除

函数注释(){
var name=document.getElementById(“name1”).value;
var message=document.getElementById(“message1”).value;
var newDIV=document.createElement(“blockquote”);//创建您认为最合适的标记
var newp1=document.createElement(“引用”);
var newp2=document.createElement(“q”);
var text1=document.createTextNode(名称);
var text2=document.createTextNode(消息);
newp1.appendChild(text1);
newp2.appendChild(text2);
newDIV.appendChild(newp1);
newDIV.appendChild(newp2);
var newco=document.getElementById(“com”);
新来的。追加的孩子(newDIV);
}
函数add(){
var table=document.getElementById(“主表”);
var行=table.insertRow(-1);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var name=document.getElementById(“name”).value;
var message=document.getElementById(“message”).value;
cell1.innerHTML=名称;
cell2.innerHTML=消息;
}
功能切换\u可见性(id){
var btn=document.getElementById('commentBtn');
var e=document.getElementById(id);
如果(e.style.display=='block'){
e、 style.display='none';
btn.innerHTML=“更多”;
}否则{
e、 style.display='block';
document.getElementById(“commentBtn”).value=“Less”;
btn.innerHTML=“Less”;
}
}
表格{
字体系列:arial,无衬线;
边界塌陷:塌陷;
}
运输署,
th{
边框:1px实心#dddddd;
文本对齐:左对齐;
填充:8px;
}
tr:n个孩子(偶数){
背景色:#dddddd;
}
引用{
字体大小:粗体;
右侧填充:1em;
}
.评论{
显示器:flex;
}
#评论{
保证金:自动0.5em;
}
测试
名称
消息
评论
蒂亚戈
你好,你好吗?
更多
测试评论1

测试评论2

提交评论 提交 注释名称应显示在此处 注释消息应显示在此处

提交消息 提交
我建议不要为此使用表。对于这种情况,您不使用表。您对两个表单的输入使用相同的id,这可能是一个问题,即从错误的输入(第一次看到,第一次捕获)返回空字符串值时,您永远不会
事件。preventDefault()
.onsubmit