Visa ett inlägg
Oläst 2008-10-22, 00:46 #3
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
Metoden appendChild gör just vad metoder antyder; lägger till sist. Med andra ord läggs alltid en "child node" allra sist bland alla "children" till den aktuella noden när man anropar "node.appendChild()". Att sätta innerHTML är kanske inte heller svaret om man vill vara lite flexibel.

Istället bör du använda de metoder som finns till buds. För det här ändamålet är troligen insertBefore() vad du söker efter. Ett lite bättre exempel (Jag förstår heller inte varför du ska ha ett ickestandardiserat anrop bara för att fånga med ett exception och i catch-satsen göra rätt. Dessutom har du glömt enctype i formuläret om du ska ladda upp filer.)

<html>
<head>
<script type="text/javascript">
function add_input() {

var element = document.createElement("input");
element.setAttribute("name", "file1");
element.setAttribute("type", "file");
element.setAttribute("onChange", "add_input();");

var myform = document.getElementById('myform');
var mysubmit = document.getElementById('mysubmit');

myform.insertBefore(element, mysubmit);
}
</script>
</head>

<body>
<form id="myform" name="myform" action="default.asp" method=get>
<input type="file" name="file1" onchange="add_input();">
<input id="mysubmit" type="submit" value="submit">
</form>
</body>
<html>
dotvoid är inte uppkopplad   Svara med citatSvara med citat