Javascript 为什么我的循环只返回HTML集合中的第一个值

Javascript 为什么我的循环只返回HTML集合中的第一个值,javascript,Javascript,尽管进行了大量的研究和尝试,但我只从循环中得到了第一个输入 Chromedev未显示任何错误 非常感谢您的帮助 function DisplayInputValues(){ //var j is the number of fields generated dynamically as required by user var j = document.getElementById('fields').value; var usin; //class name of input e

尽管进行了大量的研究和尝试,但我只从循环中得到了第一个输入

Chrome
dev未显示任何错误

非常感谢您的帮助

function DisplayInputValues(){
  //var j is the number of fields generated dynamically as required by user

  var j = document.getElementById('fields').value;
  var usin; //class name of input element
  var i

  for (i=0;i<j.length; i++){
    var userinput = document.getElementsByClassName('usin')[i].value;
  }

  document.getElementById("showresults").innerHTML=userinput;
}
函数DisplayInputValues(){
//var j是根据用户要求动态生成的字段数
var j=document.getElementById('fields')。值;
var usin;//输入元素的类名
变量i

对于(i=0;i您必须在循环内设置
document.getElementById(“showresults”).innerHTML=userinput

for (i=0;i<j.length; i++){
var userinput = document.getElementsByClassName('usin')[i].value;    
 document.getElementById("showresults").innerHTML=userinput;     
}

for(i=0;i您必须在循环内设置
document.getElementById(“showresults”).innerHTML=userinput

for (i=0;i<j.length; i++){
var userinput = document.getElementsByClassName('usin')[i].value;    
 document.getElementById("showresults").innerHTML=userinput;     
}

for(i=0;i,因为您重写了循环中的元素。
使用类似这样的方法:

var userinput = '';
for (i=0;i<j.length; i++){
  userinput += document.getElementsByClassName('usin')[i].value;
}
document.getElementById("showresults").innerHTML=userinput;
var userinput='';

对于(i=0;i,因为您重写了循环中的元素。 使用类似这样的方法:

var userinput = '';
for (i=0;i<j.length; i++){
  userinput += document.getElementsByClassName('usin')[i].value;
}
document.getElementById("showresults").innerHTML=userinput;
var userinput='';

对于(i=0;i如果您希望显示来自类usin的每个元素的值,那么您需要将它们的值附加到循环中。 像这样:

function DisplayInputValues() {
    //var j is the number of fields generated dynamically as required by user

    var j = document.getElementById('fields').value;
    var i;
    var userinput = [];

    for (i = 0; i < j.length; i++) {
        userinput.push(
            document.getElementsByClassName('usin')[i].value
        );
    }

    document.getElementById("showresults").innerHTML = userinput.join(', ');
}
函数DisplayInputValues(){
//var j是根据用户要求动态生成的字段数
var j=document.getElementById('fields')。值;
var i;
var userinput=[];
对于(i=0;i
如果要显示类为usin的每个元素的值,则需要在循环中附加它们的值。 像这样:

function DisplayInputValues() {
    //var j is the number of fields generated dynamically as required by user

    var j = document.getElementById('fields').value;
    var i;
    var userinput = [];

    for (i = 0; i < j.length; i++) {
        userinput.push(
            document.getElementsByClassName('usin')[i].value
        );
    }

    document.getElementById("showresults").innerHTML = userinput.join(', ');
}
函数DisplayInputValues(){
//var j是根据用户要求动态生成的字段数
var j=document.getElementById('fields')。值;
var i;
var userinput=[];
对于(i=0;i
我猜j不是数组。你不必做j.length。只要用j。 您的值J是一个字符串。
它被计算为“6”或“42”。如果你问它的长度,它将返回1或2。你将循环该时间。试试这个:
for(var i=0;i我猜j不是数组。你不必做j.length。只需使用j。
您的值J是一个字符串。


它被计算为“6”或“42”。如果您询问长度,它将返回1或2。您将循环该时间。请尝试以下操作:
for(var i=0;我能为该代码显示HTML吗?字段是使用container.appendChild(document.createTextNode)生成的因此,唯一的html是用来保存生成字段的空div。您可以显示该代码的html吗?字段是使用container.appendChild(document.createTextNode)生成的因此,唯一的html是用来保存生成字段的空div。按照您的建议更改了我的循环,但仍然只得到了第一个结果。对……在for循环外没有使用getresults,所以在循环内尝试了它,现在得到了所有结果!先生,您是一个明星。非常感谢您的帮助。按照您的建议更改了我的循环,但是仍然只得到第一个结果。对…在for循环外无法使用getresults,因此在循环内尝试了它,现在可以获得所有结果!您,先生,是一个明星。非常感谢您的帮助。抱歉-不起作用。抛出错误丢失')'尽管存在!还有一个错误是代码的另一部分未定义。如本文其他评论中所述…输入字段由container.appendChild(document.createTextNode,其中container是保存输入字段的div。用户指定需要多少字段。抱歉-不起作用。抛出的错误丢失')'尽管存在!还有一个错误是代码的另一部分未定义。如本文其他评论中所述…输入字段由container.appendChild生成(document.createTextNode,其中container是保存输入字段的div。用户指定需要多少字段。这仍然只返回第一个输入值。这仍然只返回第一个输入值。不…不是数组。它返回html集合,在许多方面类似于数组,但不是数组。不确定如何仅返回我们ej您能告诉我执行此操作的代码行吗?我不认为var j=document.getElementById('fields')).value;返回一个数组。它可能是一个int。在标题中显示此元素的HTML…它是一个HTML集合。不是一个数组。由于输入是动态生成的,所以唯一的HTML是一个容器div,用于在生成输入字段后保存这些字段。不…不是数组。它返回一个HTML集合,在许多方面与数组,但不是数组。不知道如何使用j。请告诉我执行此操作的代码行。我不认为var j=document.getElementById('fields')).value;返回一个数组。它可能是一个int。在标题中显示此元素的HTML…这是一个HTML集合。不是数组。由于输入是动态生成的,因此唯一的HTML是一个容器div,用于在生成输入字段后保存输入字段。