Kom ihåg mig?

Filuppladdning i IE via dynamiskt tillagt formulär

Ämnesverktyg Visningsalternativ
Oläst 2010-10-22, 18:14 #1
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Standard Filuppladdning i IE via dynamiskt tillagt formulär

Tänkte dela med mig av en mycket jobbig "bugg" som tog hela dagen att lösa utifall någon annan skulle springa på samma problem.

Jag har en sida där man skall kunna ladda upp en bild. Jag har förenklat exemplet här så att det blir överskådligt.

Formuläret som läggs till ser ut såhär:
Kod:
<form method="post" action="/upload" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input value="Ladda upp" type="submit" name="submit" />
</form>
Detta fungerar perfekt i alla webbläsare (även IE) som det bör. Problemet kommer när jag skall återskapa detta formuläret dynamiskt med hjälp av jQuery.

Kod:
var form = $('<form>', {
    action: '/upload',
    method: 'post',
    enctype: 'multipart/form-data'
});

var formInputFile = $('<input />', {
    type: 'file',
    name: 'image'
});

var formSubmit = $('<input />', {
    type: 'submit',
    name: 'submit',
    value: 'Ladda upp'
});

form.append(formInputFile);
form.append(formSubmit);
$('body').append(form);
Denna koden fungerar i alla webbläsare utom just IE. När formuläret skickas så skickas inte fil-datan med.

Av någon konstig anledning måste man lägga till encoding="multipart/form-data" när formuläret skapas dynamiskt för att IE skall acceptera det som ett filuppladdningsformulär.

Form-taggen måste alltså skapas såhär för att IE skall spela med:
Kod:
var form = $('<form>', {
    action: '/upload',
    method: 'post',
    enctype: 'multipart/form-data',
    encoding: 'multipart/form-data'
});
Så där har ni det, hoppas detta kan bespara in någon utvecklingstid.
Weaver är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 07:50.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017