2010-11-02 20 views
0

Certains mauvais navigateurs ne permettent pas de faire ce qui suit:clic de JavaScript()

<input type="file" id="file_input" /> 

document.getElementById('file_input').click(); 

Pouvons-nous apprendre en quelque sorte si le clic est autorisé ou non?

+1

Je pense que la réponse va être * utiliser jQuery *: '$ (" # file_input "). Click();' –

+0

jQuery n'est pas si puissant = lol – Soverin

Répondre

1

Je ne suis pas vraiment sûr de ce que vous êtes après, mais vous pouvez vérifier si elle est là avant d'appeler comme ceci:

var c = document.getElementById('file_input').click; 
if(c) c(); 

Bien, il y a probablement une bien meilleure façon d'aller sur ce que vous êtes Je le dis parce que la plupart des navigateurs vous bloquent en essayant d'ouvrir automatiquement une boîte de dialogue de fichier (though IE will allow it ... qui est le début de toutes ces fonctions non-standard .click()).

+0

Firefox et Opera ont '.click()' de toute façon , même si cela ne semble pas ouvrir le fichier choisissez le dialogue. Et je ne dirais pas la plupart des navigateurs; seuls ces deux empêchent l'ouverture automatique du dialogue de cette façon. – PleaseStand

+0

Chrome, Safari et IE le permettent. – Soverin

+0

@Spa - Ils vous permettent de '.click()' oui, mais pas ouvrir la boîte de dialogue de fichier, vérifiez-le ici: http://jsfiddle.net/nick_craver/nHY9K/ –