[英]javascript input field or array are behaving strangely
我正在从下拉菜单创建输入字段,并且值存储在数组中,但是第三个输入字段存储的是上层下拉菜单的值。仅第三个输入字段?!? 我可以找到发生这种情况的原因?! 代码html:
<form name="myform1">
<select id="polja2" onchange="Gen()">
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>
<form name="myform">
<select id="polja" onchange="Gen()">
<option ></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</form>
<table id="t">
</table>
javascript函数Gen()=
function Gen()
{
var val = document.getElementById("polja");
val=(val.options[val.selectedIndex].value);
var valGrup = document.getElementById("polja2");
valGrup=(valGrup.options[valGrup.selectedIndex].value);
var e = document.getElementById("t");
e.innerHTML = "Vrijednosti: <br>";
var i;
var j;
for(i=0;i<valGrup;i++)
{ e.innerHTML += "Grupa: "+i+"<br>";
e.innerHTML += "<input type='text' id='naziv" + i +"'/>"+"<br>";
for(j=0;j<val;j++)
{
e.innerHTML += "<input type='number' id='polja"+j+"'/>"+"<br>";
}
}
}
第二个javascript函数在哪里取值并将其放入数组
function korekcija(a){
var scores=new Array();
var scorispis=new Array();
var val = document.getElementById("polja");
val=(val.options[val.selectedIndex].value);
for(var i=0;i<val;i++){
alert(scores[i]);--->**it shows that the third value is the value of the upper dropdown menu number??(the "polja2")**
scores[i]= document.getElementById("polja"+ i).value ;
scorispis[i]= document.getElementById("polja"+ i).value ;
}
VrZaRad(scores, scorispis);
}
因为第三项的"polja"+j
会产生"polja2"
,它已经被用作第一个下拉列表的id
。
更改第一个select
元素的id
,或者在构造动态DOM元素时使用不同的前缀。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.