Ciao a tutti.
Ecco la situazione.
HTML:
codice:
[img]dialog/browse.png[/img]
<input id="uploadInput" type="file" style="visibility:hidden;" value=""/>
JS:
codice:
function fileDialog()
{
var input = document.getElementById("uploadInput");
input.value = "";
input.onchange = upload;
input.click();
}
function upload()
{
alert(document.getElementById("upload").value);
[...]
}
Dunque. E' semplicemente un input file nascosto. Al click sull'immagine parte la funzione fileDialog che tramite JS manda manda un click sul tag. Se l'utente sceglie un file lo stato del tag cambia e allora scatta la funzione upload. L'attributo value contiene il path del file.
Provato su IE, Opera, Safari e Chrome: nessun problema, va perfettamente. Su FF, invece, value contiene solo il nome del file ma non il suo fullpath (eg. C:\Dir1\Dir2\file1.txt => file1.txt). Usando questa funzione per fare un upload è chiaro che il fullpath è essenziale.
Qualcuno sa il motivo e come aggirare la cosa??