|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
[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? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
nulla?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
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? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
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?
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Mostra il codice di come simuli l'evento onclick...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
uploader.click();
dove uploader è l'oggetto input di tipo file |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Questo è come io simulo l'evento onclick su un link:
Codice:
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);
}
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
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.
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
ossignur. Sostituisci il link con l'input e prova! Va meglio se lo scrivo così?
Codice:
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);
}
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Il problema non era nel come simulare un click
Il problema è che con firefox sull'input file non si riesce a fare! Bisogna intraprendere un'altra strada... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:56.



















