8797 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je rencontre actuellement un problème avec un formulaire sous IE. Ledit formulaire doit pouvoir gérer un champs de type "file". Voici le code généré :


<form accept-charset="UTF-8" action="/users/update" class="edit_user" data-ajax="false" enctype="multipart/form-data" id="edit_user_30" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="M2Tj0j4iMLz890lwNmqNTYXgogxcPoGb+Yof62hmLI0=" /></div>
    
    <fieldset>
        <label class="form-title">Préférences</label>
        <section>
          <label for="user_color">Couleur</label>

          <div>
            <input class="color" id="user_color" name="user[color]" size="30" type="text" value="#00ff15" />
          </div>
        </section>
        
        <section>
            <label>
                Mon avatar <br><span>Max.: 2Mo</span>
                <span id="avatar"><img alt="Roméo" class="avatar" src="/uploads/user/avatar/30/fancy_201005-29-notre-dame.jpg?1319809961" style="border-color: #00ff15; border-width: 3px;" title="Roméo" /></span>

            </label>
            <div>
                <input id="user_avatar" name="user[avatar]" type="file" />
            </div>
        </section>

        <section>
          <div>
            <button class="submit">Mettre mes informations à jour</button>

          </div>
        </section>
    </fieldset>
</form>


Comme vous pouvez le constater, l'attribut enctype est bien précisé.

Lorsque j'envoie le contenu du formulaire sous FF, aucun problème.

Lorsque j'envoie le contenu du formulaire sous IE, j'obtiens une erreur : "Internet Explorer cannot display the webpage". De plus, rien dans les logs de mon application, la requête n'est donc tout simplement pas envoyée.

Lorsque j'envoie le contenu de mon formulaire sous IE, sans l'attribut "enctype", le formulaire est bien traité - à l'exception bien sur du fichier joint.

J'ai bien entendu chercher un peu partout, j'ai trouvé quelques pistes, notamment sur StackOverflow, mais rien ne m'a permis de solutionner mon problème.

Merci d'avance,

Pour info, le lien vers mon post sur StackOverflow mentionnant les solutions déjà testées : http://stackoverflow.com/questions/7929629/ie-doesnt-handle-multipart-forms

EDIT:

Note : l'utilisation d'un <button> à la place d'un <input type=submit"> est une restriction due au design, j'ai bien entendu essayé de le remplacer, sans succès.

Note 2: l'application utilise massivement jQuery, notamment pour le traitement des formulaires, rien à signaler non plus de ce coté, la désactivation totale du Javascript n'a pas solutionné le problème.
Modifié par AkyRhO (28 Oct 2011 - 16:41)
quel version de IE?

ça viens peut-être des éléments d'authentification que ton formulaire semble véhiculer.
ou alors du name du type file ou il y a des espaces dedans name="user avatar "