Ik ben bezig met een web app waarin JS vrij intensief gebruikt wordt. Nu maak ik ook nu en dan gebruik van dialoog vensters, waarvan ik het resultaat vaak mbv. XMLHttpRequest naar de server stuur. Met een file upload is dat natuurlijk niet mogelijk, dus dan moet het formulier verzonden worden. Ik bouw de dialoog vensters puur met JS op. Nu heb ik enkele problemen, zowel in FF als in IE, alleen beide verschillend.
In FF wil het formulier in zijn geheel niet verzenden als het door JS is opgebouwd. Ik heb de HTML gecontroleerd, die lijkt ook correct te zijn. Als ik die HTML, direct verkregen door het als TextNode aan de body te appenden, in een apart bestand zet en die open, dan kan ik vreemd genoeg het formulier wel gewoon verzenden.
In IE verzend het formulier wel, maar weigert hij het bestand te uploaden. Ik krijg heb dus binnen als gewone $_POST var (in PHP) en niet in de $_FILES array. Lijkt erop dat het om die bug met enctype gaat, maar daar weet ik geen oplossing voor. Ook IE verzend het formulier normaal als het in een apart bestand geplaatst wordt.
Iemand enig idee wat er aan de hand is?
De betreffende HTML code:
Ik kan het natuurlijk oplossen door de HTML code wel gewoon altijd in een apart bestand te zetten, maar ik wil wel graag weten wat er nu aan de hand is. Ik zet hier liever geen JS code neer, omdat het om een behoorlijk stuk gaat, waarvan ik niet denk dat er veel fouten in zitten. Als jullie dat toch graag willen zien, dan post ik wel wat stukjes.
Ander probleem:
Ik probeer een stylesheet dynamisch toe te voegen. In Firefox wordt hij echter niet geladen, in IE wel. In de HTML code lijkt alles te kloppen.
// edit: Probleem met stylesheet is opgelost door een absoluut pad te gebruiken.
In FF wil het formulier in zijn geheel niet verzenden als het door JS is opgebouwd. Ik heb de HTML gecontroleerd, die lijkt ook correct te zijn. Als ik die HTML, direct verkregen door het als TextNode aan de body te appenden, in een apart bestand zet en die open, dan kan ik vreemd genoeg het formulier wel gewoon verzenden.
In IE verzend het formulier wel, maar weigert hij het bestand te uploaden. Ik krijg heb dus binnen als gewone $_POST var (in PHP) en niet in de $_FILES array. Lijkt erop dat het om die bug met enctype gaat, maar daar weet ik geen oplossing voor. Ook IE verzend het formulier normaal als het in een apart bestand geplaatst wordt.
Iemand enig idee wat er aan de hand is?
De betreffende HTML code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <html> <head> <title></title> <link href="css/dialog.css" rel="stylesheet" type="text/css"> </head> <body> <form method="post" enctype="multipart/form-data" action="action.php?action=upload_file"> <div> <input value="3000000" name="MAX_FILE_SIZE" type="hidden"> <input value="1" name="directory" type="hidden"> <label for="file">Bestand:</label> <input name="file" id="file" type="file"> <input value="Voeg toe" id="submit-button" name="submit-button" type="submit"> <input value="Annuleer" type="button"> </div> </form> </body> </html> |
Ik kan het natuurlijk oplossen door de HTML code wel gewoon altijd in een apart bestand te zetten, maar ik wil wel graag weten wat er nu aan de hand is. Ik zet hier liever geen JS code neer, omdat het om een behoorlijk stuk gaat, waarvan ik niet denk dat er veel fouten in zitten. Als jullie dat toch graag willen zien, dan post ik wel wat stukjes.
Ander probleem:
Ik probeer een stylesheet dynamisch toe te voegen. In Firefox wordt hij echter niet geladen, in IE wel. In de HTML code lijkt alles te kloppen.
// edit: Probleem met stylesheet is opgelost door een absoluut pad te gebruiken.
[ Voor 35% gewijzigd door Michali op 25-01-2006 17:59 ]