Reference til dynamisk oprettede felter - howto?
Dette spørgsmål er i forlængelse af dette: http://www.eksperten.dk/spm/805041 og består af to dele..del 1)
eg benytter denne funktion til at oprette felter dynamisk:
function makeBox(){
obj=document.orderform.qmgrs;
bokse = document.getElementById("boksdiv");
var elm;
for(i=0;i<obj.options[obj.selectedIndex].value;i++){
ls=document.createElement("br");
elm=document.createElement("input");
elm.setAttribute("name","navn"+i);
elm.setAttribute("type","text");
bokse.appendChild(elm);
bokse.appendChild(ls);
}
return true;
}
Når jeg senere kører validering af mine felter i formularen, kan jeg ikke referere de dynamisk oprettede felter. Jeg ville tro jeg kunne nå værdierne i de felter med denne:
document.orderform.navn1.value
Men det får jeg intet ud af..
Hvad gør jeg forkert? Jeg skal garanteret "fange" de felter på en anden måde, men hvordan? :)
del 2)
Ovennævnte funktion kaldes ved at bruge en onchange event som her:
<select name=qmgrs onChange="makeBox()">
Der er altså mulighed for at vælge mellem x antal bokse der skal oprettes.
Mit problem er nu, at hver gang man vælger et nyt antal opretter den det antal. Således at vælger man 2 opretter den 2 bokse, vælger man derefter 3 opretter den 3 mere, altså 5 i alt.
Det jeg i virkeligheden ønsker (i forb. med ovennævnte scenarie)er at de 2 oprindelige bokse bliver fjernet og 3 nye oprettet, eller blot en enkelt tilføjet. Således at når man vælger 3, så er der 3 i alt, og når man vælger 5 så er der 5 i alt.
Håber nogen kan hjælpe.
Pft.