“SCRIPT5 l'Accès est refusé” erreur sur IE9 lors de la cuisson .cliquez sur la (les) de onchange
Nous voulons réduire le nombre d'étapes qu'il faut pour un utilisateur de télécharger un fichier sur notre site web; nous sommes donc à l'aide de jQuery pour l'ouvrir et la publication de fichiers à l'aide de la ci-dessous de balisage (simplifié):
<a onclick="$('#uplRegistrationImage').click();">
Change profile picture
</a>
<!-- Hidden to keep the UI clean -->
<asp:FileUpload ID="uplRegistrationImage"
runat="server"
ClientIDMode="static"
Style="display:none"
onchange="$('#btnSubmitImage').click();" />
<asp:Button runat="server"
ID="btnSubmitImage"
ClientIDMode="static"
Style="display:none"
OnClick="btnSubmitImage_OnClick"
UseSubmitBehavior="False" />
Cela fonctionne très bien sous Firefox et Chrome, ce qui ouvre la boîte de dialogue de fichier lorsque le lien est cliqué, et la cuisson de la publication lorsqu'un fichier est sélectionné.
Cependant dans IE9 après l'upload de fichier est chargé et qu'un utilisateur a sélectionné un fichier; insteaed de la OnChange de travail, je reçois un "SCRIPT5 Accès refusé" s'affiche. J'ai essayé de réglage de l'arbitraire d'un délai d'attente, réglage des intervalles de vérifier si un fichier est donné en vain.
Il y a un certain nombre d'autres questions relatives à la présente; cependant, aucune ne semble avoir une bonne réponse (l'Un dit jeu de la boîte de dialogue de fichier pour être transparent et placez un bouton!)
Quelqu'un d'autre a résolu ce problème? Ou est-il absolument nécessaire que je fournir un bouton pour les utilisateurs de IE?
- Pourquoi n'êtes-vous pas d'envoyer le onclick sur ton <a> pour la même fonction que le onclick de $('#uplRegistrationImage')?
- Le <a> onclick ouvre la boîte de dialogue de fichier; le <asp:FileUpload> devrait déclencher une publication chaque fois qu'un fichier est sélectionné.
- J'ai eu les mêmes problèmes dans Safari, donc je suppose que IE9 a pris la même position que sur() nécessite un clic de l'utilisateur, ce qui, d'un point de vue sécurité, vous pouvez probablement comprendre.
- Avez-vous trouvé le moyen de contourner cela ou avez-vous atterri juste à fournir un bouton?
- J'ai fini par changer la structure de l'application à l'abstrait les parties pertinentes de sortir. J'étais seulement en l'utilisant comme un raccourci, je n'était pas lié à du code derrière/post arrière de la structure des applications. Il existe un moyen de code d'accès derrière méthodes directement à partir de jquery mais qui pourrait être de l'aide pour vous. Je suggère l'utilisation de jQuery pour le lien directement dans votre code derrière. Vous pouvez lire à ce sujet dans le encosia.com/...
- Je viens de trouver ceci: forums.asp.net/t/1573660.aspx/1 qui vous ressemble juste besoin d'utiliser un asp:Bouton à la place de la <a> tag et vous devriez avoir une solution de contournement.
- juste essayé sur IE9 en vain; la publication est toujours bloquée par la même erreur. Bravo pour l'article, bien que
- Êtes-vous sûr que
$('#btnSubmitImage').click();
en est la cause? - Serait-ce parce que je suis de l'ouverture de l'uploader boîte de dialogue à partir de javascript à l'aide de
$('#uplRegistrationImage').click();
?
Vous devez vous connecter pour publier un commentaire.
Pour des raisons de sécurité, ce que vous essayez de faire n'est pas possible. Il semble être le IE9 ne vous laissera pas de soumettre un formulaire de cette façon, à moins que c'était une vraie souris-cliquez sur le Fichier de contrôle de Téléchargement qui la déclenche.
Pour l'amour du arguments, j'ai été en mesure d'utiliser votre code pour le soumettre à la
change
gestionnaire, mais il a travaillé seulement quand j'ai cliqué sur leBrowse
bouton de moi-même. J'ai même mis en place des bureaux dans le$(document).ready
méthode pour une variable définie par lachange
gestionnaire qui indique que la soumission doit être déclenchée - cela ne fonctionne pas non plus.Les solutions à ce problème: le
Style un Upload de Fichier:
http://www.quirksmode.org/dom/inputfile.html
http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom
Références:
jQuery : simuler un clic sur un <input type="file" /> ne fonctionne pas dans Firefox?
IE9 fichier d'entrée de déclenchement à l'aide de Javascript
l'obtention de l'accès est refusé erreur sur IE8