Avatar billede th1 Nybegynder
27. juni 2008 - 17:51 Der er 10 kommentarer

indsæt input fields med JavaScript

Hejsa eksperter

Jeg har et problem.

Jeg kan sagtens adde et input field via java script.

men det jeg ikke kan finde ud af er at input fieldene skal ikke have det samme id.

den starter med "file1" og skal den gerne gå op af på den måde:

"file2", "file3" osv.

min kode indtil videre:

----------------------Start-----------------------
var inputs = document.getElementById('<%=pnlUpload.ClientID %>').getElementsByTagName('input');                       
                var count = 1;
                for (var n=0; n<inputs.length; n++)
                {
                   
                        count = count + 1;
                        var newFile = document.createElement('input');               
                        newFile.setAttribute('id', 'file' + count);
                        newFile.setAttribute('type', 'file');                                 
                        document.getElementById('<%=pnlUpload.ClientID %>').appendChild(newFile);
                        return
                   
              }

--------------------Slut----------------------------

Tak på forhånd
Avatar billede olebole Juniormester
27. juni 2008 - 17:59 #1
<ole>

Det kan du vist roligt opgive. File-inputs kan du godt oprette med DOM, men de virker ikke. File-inputs kan du af sikkerhedsgrunde kun scripte en lillebitte anelse på

/mvh
</bole>
Avatar billede olebole Juniormester
27. juni 2008 - 18:01 #2
- men derudover forstår jeg ikke rigtig, hvad det er, du vil med koden. Prøv at forklare lidt mere  =)
Avatar billede th1 Nybegynder
27. juni 2008 - 18:18 #3
det virker fint nok for mig at tilføje flere fields..

men mit problem er så at de altid får det samme ID <input id="file1"...

jeg vile gerne have at den finder antal input som altid først vil være 1.

derfor skal næste hedde <input id="file2"  og så når jeg adder en til <input id="file3..
Avatar billede Slettet bruger
27. juni 2008 - 18:27 #4
hvorfor laver du en return inden i din for-løkke?
Avatar billede olebole Juniormester
27. juni 2008 - 18:40 #5
Prøv at lægge et link til et eksempel
Avatar billede olebole Juniormester
27. juni 2008 - 18:45 #6
- og du forklarer stadig ikke, hvad du vil med koden. Skal du bruge den til at uploade filer til en server med - eller ...?
Avatar billede th1 Nybegynder
27. juni 2008 - 19:10 #7
jamen det jeg vil bruge den kode til at er at tilføje flere uploadfields men id skal altid blive en højre end antal af totalen af inputs field på siden
Avatar billede kongknabe Nybegynder
27. juni 2008 - 20:56 #8
Prøv evt. at tage et kig på http://swfupload.org/ - Den bruger flash til at tilføje en række lækre features til fil-upload, og degrader så vidt jeg ved perfekt hvis brugeren ikke har Flash installeret :)

(Af specielle features kan nævnes at den giver mulighed for at du kan holde CTRL nede og vælge at uploade flere filer simultant, samt at den gråer ikke understøttede formater ud så du ikke kan vælge dem når du uploader - nice!)
Avatar billede olebole Juniormester
27. juni 2008 - 21:32 #9
I forbindelse med upload er id attributten ligegyldig. Der skal du bruge en name attribut, som IE til gengæld ikke kan oprette med valid DOM kode. Der må du gøre sådan:
    var newFile = document.createElement('<input type="file" name="file2">');

At du ender op med samme id på flere felter, kan kun skyldes noget andet kode. Hvorfor er det, du ikke viser os noget mere kode?

Derudover burde du absolut se på det foreslag, kongknabe gav dig. Det er nok en bedre løsning  ;o)
Avatar billede roenving Novice
28. juni 2008 - 12:08 #10
-- og jeg ville anbefale, at du lavede dine file-felter fra starten, men skjulte ubenyttede, og så hen ad vejen viste nogle flere, når der blev behov for det !-)

-- jeg kan ikke forestille mig en situation på en html-side, hvor der blev behov for at uploade mange filer, selv hvis det er upload til gallerier, må du sætte et maksimum, for ikke at lægge forbindelse eller server ned !o]
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester