Bonjour,
je développe une application web sous ASP.NET 2, je souhaite que l'utilisateur puisse allez chercher des photos entre autres présentes sur son disque. J'ai donc rajouter un champ input (type="file") pour récupérer le fichier, je l'upload ensuite, jusqu'ici tout allait bien.
Cependant, je souhaite pouvoir changer le texte du bouton "Parcourir" car l'application est multilingue, j'ai donc trouver la solution suivante sur developpez.com dans la FAQ:
Pour changer le texte d'un bouton de type file, on est obligé de "ruser" car il n'y a pas d'autres moyens.
Voici le script :
<script type="text/javascript">
function getfile(){
document.getElementById('hiddenfile').click();
document.getElementById('selectedfile').value=document.getElementById('hiddenfile').value
}
</script>
Et le corps de votre page:
<body>
<input type="file" id="hiddenfile" style="display:none" />
<input type="text" id="selectedfile" />
<input type="button" value="Select a file" onclick="getfile()" />
</body>
En fait, ce que l'on aperçoit sur la page ressemble à un champ de type File, mais en réalité, il s'agit d'un bouton et d'un champ de type texte. Ainsi, grâce à la fonction getfile(), on simule le clic sur le champ File que l'on a caché...
Cette solution marche trés bien sur IE mais ne marche pas sous FireFox car la fonction click (appelée dans document.getelementbyId(monId).click()) n'est pas implémentée.
Quelqu'un aurait-il une solution qui marche sous IE et Firefox (ce serait déjà pas mal avec ces deux browsers).
Merci d'avance pour vos réponses,
Jul
Partager