View Full Version : [javascript]lanciare evento on click di input file
Ho un input di tipo file, ne vorrei lanciare la funzione che utilizza per aprire il file-browser(qyello per scegliere il file da uploadare).
Ho pensato di lanciare il suo evento onclick, e su IE 7 funzia bene ma con firefox no...
C'è modo di lanciarlo?
In alternativa come posso fare?
Il sito www.flickr.com(per la gestione delle foto) permette di uppare le proprie foto nel sito, e oltre al fatto che viene aperto il file-browser da un semplice link(non vi è traccia di input type=file) permette anche l'upload multiplo...cosa impossibile visto che non è permesso impostare programmaticamente il valore dei campi di input file.
Come si spiega questa cosa?
Ok ho letto in giro che flickr utilizza flash per fare l'upload, ora mi chiedo, cosa usa esattamente di flash visto che non c'è nessun "filmato" swf?
Mostra il codice di come simuli l'evento onclick...
uploader.click();
dove uploader è l'oggetto input di tipo file
Questo è come io simulo l'evento onclick su un link:
if (document.all)
link.fireEvent("onclick");
else
{
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
link.dispatchEvent(evt);
}
Si ma a me non serve simulare quello di un link, ma quello di un input di tipo file..altrimenti non starei qui a domandare.
ossignur. Sostituisci il link con l'input e prova! Va meglio se lo scrivo così?
var file_input = document.getElementById("file");
if (document.all)
file_input.fireEvent("onclick");
else
{
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
file_input.dispatchEvent(evt);
}
Il problema non era nel come simulare un click :D quello lo sapevo fare... e avevo già fatto le mie prove.
Il problema è che con firefox sull'input file non si riesce a fare!
Bisogna intraprendere un'altra strada...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.