JavaScript和HTML元素操作

JavaScript和HTML元素操作,javascript,php,html,for-loop,Javascript,Php,Html,For Loop,项目概念:创建一个“考试制作人”,教师可以访问该“考试制作人”进行创建,学生可以访问该“考试制作人”进行考试。许多功能将包括在内,但为了保持它在手上的问题简单,我不会包括所有的信息 前端:使用php文件将数据库中的所有问题列在HTML中的select字段中。选择项目后,将其添加到测试中。显示测试,并为每个问题分配分数 我的实际问题/帮助:我的addq()函数应该是,获取所选项的值,将其附加到全局testArray=[];而for循环在添加每个循环后,会遍历每个循环以单独显示它们 问题是:我的是什

项目概念:创建一个“考试制作人”,教师可以访问该“考试制作人”进行创建,学生可以访问该“考试制作人”进行考试。许多功能将包括在内,但为了保持它在手上的问题简单,我不会包括所有的信息

前端:使用php文件将数据库中的所有问题列在HTML中的select字段中。选择项目后,将其添加到测试中。显示测试,并为每个问题分配分数

我的实际问题/帮助:我的addq()函数应该是,获取所选项的值,将其附加到全局testArray=[];而for循环在添加每个循环后,会遍历每个循环以单独显示它们

问题是:我的是什么显示在HTML。。。它会不断添加数组,以便在每次addq()之后重复输出。请帮我修一下数组需要在函数外部,以便我以后可以访问它并将其发送到php文件

<h4><center>Test</center></h4>
 <ol id="test">
</ol>



<script>

var testArray= [];

function addq(){

     var addingquestion = document.getElementById('questionSelect').value;
     var myArray = testArray.push(addingquestion);
     var node = document.createElement("LI");

     for(i=0;i<20;i++){

     var textnode = document.createTextNode(testArray[i].toString());
     node.appendChild(textnode);
     document.getElementById("test").appendChild(node);
      }
    }
</script>
测试
var testArray=[];
函数addq(){
var addingquestion=document.getElementById('questionSelect').value;
var myArray=testArray.push(addingquestion);
var节点=document.createElement(“LI”);

对于(i=0;i而言,问题在于每次都要将数组追加到node元素。因此,每次它都会输出新值和旧值

你不必把它做成数组,因为它不需要数组就可以堆叠

您只需更换以下部件:

 var textnode = document.createTextNode(testArray[i].toString());
为此:

 var textnode = document.createTextNode(addingquestion);

问题是每次都要将数组追加到node元素,所以每次都会输出新值和旧值

你不必把它做成数组,因为它不需要数组就可以堆叠

您只需更换以下部件:

 var textnode = document.createTextNode(testArray[i].toString());
为此:

 var textnode = document.createTextNode(addingquestion);

在这里,每次都需要创建LI,它是一个对象

var testArray=[1,2,3,4,5,6,7,8,9,10];
函数addq(){
//因未提供而删除。
//让addingquestion=document.getElementById('questionSelect').value;
//让myArray=testArray.push(addingquestion);
let test=document.querySelector(“#test”);
testArray.forEach(t=>{
//为每个项目创建新的li。
设li=document.createElement('li');
设textnode=document.createTextNode(t);
li.appendChild(textnode);
儿童(li)测试;
});
}
addq();

试验

在这里,每次都需要创建LI,它是一个对象

var testArray=[1,2,3,4,5,6,7,8,9,10];
函数addq(){
//因未提供而删除。
//让addingquestion=document.getElementById('questionSelect').value;
//让myArray=testArray.push(addingquestion);
let test=document.querySelector(“#test”);
testArray.forEach(t=>{
//为每个项目创建新的li。
设li=document.createElement('li');
设textnode=document.createTextNode(t);
li.appendChild(textnode);
儿童(li)测试;
});
}
addq();

试验

因为您创建了一个li并不断向其中添加文本……每次迭代都需要一个新的li。如果我移动“li”在循环中,它将不断添加额外的元素…我哪里出错了?@epascarello这是我假设您想要的…因为您制作一个li并不断向其中添加文本…每次迭代都需要一个新的li。如果我移动“li”在循环中,它会不断添加额外的元素…我哪里出错了?@epascarello这就是我认为你想要的…这太简单了..呜呜!我想知道你是否可以在每个问题中添加一个文本框,可以填写并将数据传递到php文件。例如…itll列出“问题1”[textbox1]“问题2”[textbox2]…等。不确定如何在提交的每个问题中添加文本框,我非常感谢您的帮助!!这取决于您正试图做什么,所以目标是..添加要显示的问题。(已成功完成)…给每个问题一个文本框,作为抽签分数。问题1=10分。像普通考试一样。然后把信息、问题和分数…发送出去。这些信息足以获得建议吗?我不太擅长后端,但我想我可以帮你在数据库中创建一个名为“text”的表例如,在它和问题表之间建立关系,添加问题后,您可以将用户重定向到一个页面,在该页面中,用户可以为他们添加的每个问题添加文本…例如,添加3个问题后,从数据库获取问题,并在保存时将其与文本表连接..问题1:问题2:问题关于3:您必须确保这两个表通过ID相互连接。问题必须有一个ID列,文本必须有一个名为question_ID的列(例如,希望有帮助:)这太简单了..呜呜!我想知道你是否可以为每个问题添加一个文本框,可以填写这些问题并将数据传递到php文件。例如…itll列出“问题1”[textbox1]“问题2”[textbox2]…等。不确定如何在提交的每个问题中添加文本框,我非常感谢您的帮助!!这取决于您正试图做什么,所以目标是..添加要显示的问题。(已成功完成)…给每个问题一个文本框,作为抽签分数。问题1=10分。像普通考试一样。然后把信息、问题和分数…发送出去。这些信息足以获得建议吗?我不太擅长后端,但我想我可以帮你在数据库中创建一个名为“text”的表例如,在它和问题表之间建立关系,添加问题后,您可以将用户重定向到一个页面,在该页面中,用户可以为他们添加的每个问题添加文本…例如,添加3个问题后,从数据库获取问题,并在保存时将其与文本表连接..问题1:问题2:问题在3:您必须确保这两个表是连接的