<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" />
在 Firefox 和 Chrome 中,这个功能完全正常:当点击链接时打开文件对话框,并在选择文件后触发回发。
然而,在 IE9 中,文件上传已加载并且用户已选择文件之后,OnChange 不起作用,会出现 "SCRIPT5 Access is denied" 错误。我尝试了设置任意超时、设置间隔以检查是否给定了文件,但都无济于事。
有许多其他相关的问题,但似乎没有一个合适的答案(其中一个说将文件对话框设置为透明并悬停在按钮后面!)
有其他人解决了这个问题吗?还是必须为 IE 用户提供一个按钮?
$('#btnSubmitImage').click();
是导致这个问题的原因吗? - n.podbielski