20. oktober 2003 - 14:58Der er
17 kommentarer og 2 løsninger
Tildeling af værdi til et inputfelt af type file
Jeg har et input-felt af typen file, som jeg gerne vil tildele en værdi via javascript. Kan det overhovedet lade sig gøre?, og i givet fald hvordan.
Når man laver et inputfelt af denne type, så laves der automatisk en browse-knap ved siden af feltet, hvor brugeren kan gå ind aktivt og vælge en fil, og stien til denne vil bliver så lagt ind i file inputfeltet. Man kan også skrive stien i inputfeltet via tastatur, men man kan tilsyneladende ikke tildele en værdi til feltet via javascript, selv om feltet har en value attribut.
Er der nogen der kender løsningen på dette problem, og kan det overhovedet lade sig gøre, eller er det noget sikkerheds-noget i browseren, som gør at man ikke kan tildele en værdi.
Jeg vil gerne ha´ eksempler, hvis der er nogen som mener det kan lade sig gøre.
-- du har helt ret, manutd, der findes ikke nogen måder at tildele det en værdi, og det er fordi det betragtes som en sikkerhedsbrist, hvis man kunne !-)
Du er inde på det rigtige. value-attributten i input type=file er som default read-only af sikkerhedsmæssige årsager. Ellers kunne et uautoriseret script sætte et filnavn og uploade en fil til serveren. Du kan komme udenom det ved at sætte UniversalFileRead.
phoenixv >> yups ... det er vist endda et af mine egne 'gamle hacks', men jeg har lidt på fornemmeren, at spørgeren gerne vil kunne sætte en default-fil som value på file-input'et - og det kan man jo heldigvis ikke ;o) /mvh
Synes godt om
Slettet bruger
21. oktober 2003 - 21:26#8
Tja, jeg kan ikke huske, hvor jeg har det fra. Det er vel højst sandsynligt her fra Eksperten... :)
Og mit hack er nu kun af historisk interesse. Idag spærrer IE for adgangen til at submitte formen, så snart man har fyret et script af mod en type=file. Formen resettes, men submittes ikke - og kan ikke submittes, før siden reloades. /mvh
Nope ... det ser ud til, MS endelig har opdaget, det er nødvendigt at være yderst restriktiv overfor denne felttype. På høje tid, må man vel sige ;o) /mvh
PS: Jeg har såmænd også prøvet andre 'fantasifulde' løsningsmuligheder ... sågar: <label for="ib"><button>TEST</button></label> <input id="ib" type="file" ....> Men der er heldivis ikke noget at gøre :)
Mange tak for de fine svar. Som I også rigtigt nok fremhæver, så er det nok godt nok, at det ikke kan lade sig gøre. Jeg finder en anden løsning. Da hverken olebole eller phoenixv har svaret, så lader jeg pointene gå ligeligt fordelt mellem ulrikp og roenving.
Synes godt om
Ny brugerNybegynder
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.