Bonjour à tous,
tout est dans le sujet: j'ai un formulaire (nommé form1) qui contient un champ d'upload de fichier (image) (type="file"), et je voudrais avoir un apperçu avant d'envoyer le formulaire.
J'ai des problêmes de compatibilité (marche sous IE mais pas firefox)
voici mon code:
la fonction javascript:
le code HTMl de base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function previewImg(){ var str = new String(document.form1.photo.value); str=str.replace(/\s/g,"%20"); //supprimer les espaces str=str.replace(/\\/g,"/"); //remplacer les antislash par des slash document.getElementById("prev").innerHTML='<img width=100 height=100 src="file:///'+str+'">'; }
Pourtant je n'obtiens rien sous firefox (Sous IE, pas de problême, la photo s'affiche correctement). Pourtant, lorsque je copie le nom de l'image dans la barre d'adresse ça fonctionne très bien, mais il n'arrive pas a l'afficher dynamiquement dans la page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <input type="file" name="photo" size="30" accept="image/*" onChange="javascript:previewImg()"> <div id="prev"> </div>
J'ai essayé de voir d'ou venait le problême (gros merci au passage du web developpement toolbar de firefox)
exemple, avec une image C:/temp/Image2.jpg:
si j'affiche les informations sur les images, il me dit:
mais ne l'affiche pas (icone "lien brisé/image inexistante")src:file:///C:/temp/Image2.jpg
filesize:45kb
Si je fais un "view generated sources" firefox me donne:
Et toujours pas d'image (alors que si je copie ladresse à la main dans la barre d'adresse ça marche nikel)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <div id="prev"> <img src="file:///C:/temp/Image2.jpg" height="100" width="100"> </div>
Je commence donc a tourner en rond, et j'ai plus vraiment les idées claires. Si quelqu'un pourrait m'éclairer un peu s'il vous plait,
merci encore
Partager