Bonjour à tous,

je voudrais pourvoir uploader un fichier sans avoir d'input "file" visible. Comme c'est moche et non modifiable, je la cache, et simule un click dessus au moment ou je clique sur un bouton ou une image. Quand le fichier est choisi, le formulaire est envoyé automatiquement.

Par exemple ici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php
        if (isset($_FILES["Filefield"])) {
                print_r($_FILES);
                die()
        }
?>
 
<script type    = 'text/javascript' src= 'jquery.js'></script>
 
<input type='button' value='test' onclick="$('#Filefield').click();" />
<br/>
<form id='myForm' method='POST' enctype='multipart/form-data' target='myFrame'>
    <input type='file' name='Filefield' id="Filefield" style='display:none' onchange="$('#myForm').submit();"/>
</form>
 
<iframe name='myFrame' width='500px' height="500px">
 
</iframe>
Mais ce code functionne sous Firefox, Google Chrome, mais bien sur pas sous IE, il ne veut pas envoyer le formulaire(uelquesoit la version de IE).

J'ai fais des tests, l'évenement onchange se déclenche, mais le formulaire n'est pas envoyé.

Je sais pas si c'est un truc de sécurité de la part de IE, où un bug ....

Si quelqu'un à une idée de comment contourner le probleme, ca m'aiderait bien.

Merci d'avance.
Cordialement