2010-05-04 17 views
5

Come faccio ad aprire automaticamente la finestra di dialogo Sfoglia di un tipo di input = "file" quando la pagina viene aperta per la prima volta?tipo di input = "file" auto click

+2

hai bisogno di una soluzione agnostica per il browser o puoi mirare a uno specifico? – lincolnk

+0

http://stackoverflow.com/questions/1829774/jquery-simulating-a-click-on-a-input-typefile-doesnt-work-in-firefox – bobince

risposta

6

non credo che si dovrebbe fare. Se hai mai visitato una pagina di MySpace, sai quanto può essere frustrante quando una pagina web attiva le cose da sola quando viene caricata la pagina.

Non violare il modo in cui l'interfaccia utente dovrebbe funzionare, lasciare che l'utente chieda la finestra di dialogo.

Inoltre, se gli utenti lo chiudono istintivamente come un popup, e quindi si rendono conto che ne avevano bisogno, potrebbe non essere ovvio come dovrebbero restituire la finestra di dialogo. Quindi ricaricheranno la pagina solo per mostrare di nuovo il dialogo - tutte cose frustranti che potresti evitare.

Detto questo, non sono sicuro del motivo per cui si desidera eseguire questo in primo luogo. Questa è solo la mia prima reazione a ciò che stai chiedendo.

+0

Sono totalmente d'accordo con te su Carson – GerManson

+1

ci potrebbero essere validi motivi per quello! per esempio fai clic su un pulsante che si chiama "upload" e poi si apre una finestra modale dove puoi vedere e modificare l'immagine scelta prima del caricamento. ma non vuoi avere un altro (e brutto) pulsante "carica" ​​nella finestra modale. – EscapeNetscape

1

fuoco l'evento click sul pulsante sul documento pronto

$(document).ready(function() { 
    $("#buttonid").click(); 
}); 
+1

Non facciamo assunzioni stravaganti, ora. Prova invece 'document.getElementById'. – icio

+0

Non funziona - http://jsbin.com/akure - almeno non in Firefox ... – gnarf

+0

@gnarf: Funziona in IE8 e Chrome. – SLaks

2

Questo è del tutto impossibile in Firefox.

In altri browser, è possibile:

document.getElementById('inputId').click(); 
+0

Per favore, dicci perché. –

+0

@Diodeus: perché Firefox non lo supporta. – SLaks

+3

E in IE, i moduli i cui pulsanti di caricamento dei file sono stati selezionati dallo script non verranno inviati correttamente. L'intera idea è fondamentalmente una perdita persa. – bobince

Problemi correlati