FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Mycket flitig postare
|
Suttit ett bra tag nu och blir bara knäppare och knäppare.
Försöker ordna till så bilduppladdning sker med AJAX (ett måste), men inte ens grunden verkar vilja fungera. IE verkar inte ens vilja läsa in filerna. Satt en onchange på file-elementet, som går igång när man valt en fil. So far so good. Det är dock här det strular. Försöker spotta ut element.files[0] (0 för att det är single-upload), och IE är knäpptyst. Fungerar givetvis hur bra som helst i Chrome, FF etc etc. Någon som har något förslag? Har redan skalat ner allting och försökt köra så simpelt som möjligt, fortfarande problem. Kodexempel: Kod:
<input type="file" name="img" id="img"/> $("#img").on("change", function() { alert("Changed"); // <- IE kommer hit //fungerar inte var elem = $(this); alert(elem.files[0].size); //även testat: var elem = document.getElementById("img"); alert(elem.files[0].size); }); |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Finns det ingen JS-debugger till IE?
Antar att det är jQuery du kör, senaste versionen.. ? |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Administratör
|
För att få det att funka med (äldre) IE får du lägga till en iframe att submitta ett formulär till (vad du sen väljer att visa för användaren är ju fortfarande helt upp till dig). Finns en mängd exempel om du bara söker på något i stil med "jquery ajax upload".
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
Tydligen så stöjds inte File-API till IE9 eller längre, givetvis.
Clarence, kan du länka ett exempel som du vet fungerar? Suttit sedan 15.00 och testat mig fram, och hittar verkligen inget som kan användas eller modifieras så jag vill ha det. |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Administratör
|
Du får upp massa med diskussioner med folk som nyligen använt biblioteken om du bara googlar. Ett exempel av många:
https://github.com/jfeldstein/jQuery.AjaxFileUpload.js Eller en längre lista med tips; http://stackoverflow.com/questions/1...ly-with-jquery
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
annars kan du testa http://www.plupload.com/ . Den har även fallback för äldre browsers.
|
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Kan du inte bara submita/skicka formuläret med AJAX och sedan hantera resten på serversidan?
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Administratör
|
Förutsatt att du menar att han ska serialisera formulärets data och skicka med AJAX så har han fortfarande precis samma problem i IE. Enkla lösningen är att gå ifrån ren AJAX och submitta till en osynlig iframe för dessa webbläsare (IE < 10, eller om det är 9 möjligtvis), något som finns inbyggt i alla vältestade/välskrivna bibliotek för det.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Medlem
|
Har tidigare haft liknande problem och det finns två olika vägar att gå, ena är att själv göra det, och det andra är att använda t ex ett plugin för det.
Som Clarence säger så kan du annars submitta till en osynlig iframe vilket i grund och botten är vad olika jquery plugins gör, med den markanta skillnaden att dom oftast har fler fallbacks etc. Detta är nog inte best practices men fungerar skitbra. Submittar du till en osynlig iframe så kan du mha PHP spotta ut resultatet till JS, lite fult men fungerar. Jag har ex. gjort såhär tidigare för ett projekt: print "<script type='text/javascript'>window.parent.app.uploadPhotoResult('" .$url."')</script>"; Du printar alltså ut URLen/filensnamn från PHP till en js-funktion för att få reda på filnamnet och således kunna behandla den / kanske t.o.m injecta URLen i en <img> för att visa en förhandsgranskning. Ber om ursäkt om luddigt inlägg - sovit 2h. |
||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Mycket flitig postare
|
Japp, redan testat det mesta. Har fått en grov bas att fungera, men jag vet nu varför tidigare försök inte har fungerat av någon konstig anledning.
Det verkar strula till sig när man triggar ett click. Jag har en stor knapp som man trycker på för att ladda upp. Den i sin tur kör 'trigger' på file-elementet. Det öppnas och reagerar även på change, men längre än så kommer man inte. Händer enbart i IE. Tips? |
|||
![]() |
![]() |
Svara |
|
|