Asp.net 不可见文件上载控件导致IE中javascript回发错误
我有asp.net webforms页面,带有文件上载控件和图像。当用户点击图像时,我触发文件上传点击,当点击确定时,我在客户端调用doPostBack。如果FileUpload是可见的,它可以正常工作,但是当我设置Asp.net 不可见文件上载控件导致IE中javascript回发错误,asp.net,.net,internet-explorer,webforms,Asp.net,.net,Internet Explorer,Webforms,我有asp.net webforms页面,带有文件上载控件和图像。当用户点击图像时,我触发文件上传点击,当点击确定时,我在客户端调用doPostBack。如果FileUpload是可见的,它可以正常工作,但是当我设置style='visibility:hidden'或display:none-javascript给出错误:访问被拒绝!它只在IE中复制,而不是FF或chrome。有人能告诉我如何避免这种情况并将文件发布到服务器吗?我用runat='server'尝试了输入类型='file',非服务
style='visibility:hidden'
或display:none
-javascript给出错误:访问被拒绝!它只在IE中复制,而不是FF或chrome。有人能告诉我如何避免这种情况并将文件发布到服务器吗?我用runat='server'尝试了输入类型='file',非服务器输入文件-结果是一样的
HTML:
JavaScript:
var fileupload = $('#<%= fuplImage.ClientID %>');
$('#<%= imgPhoto.ClientID %>').click(function() {
fileupload.click();
});
fileupload.change(function() {
var val = fileupload.val();
if (val == '') return;
__doPostBack(fileupload.attr('id'), val);
});
var fileupload=$('#');
$('#')。单击(函数(){
fileupload.click();
});
fileupload.change(函数(){
var val=fileupload.val();
如果(val='')返回;
__doPostBack(fileupload.attr('id'),val);
});
IE无法解决的安全问题(仅限于)不允许发送带有隐藏文件上载输入的表单。非常感谢您的帮助。您可以发布该文件上载控件生成的HTML源代码吗。。。如何触发文件上载单击?似乎有某种安全机制阻止您触发对隐藏文件字段的单击。var fileupload=$(“#”)$(“#”)。单击(函数(){fileupload.click();});change(函数(){var val=fileupload.val();if(val='')返回;uu doPostBack(fileupload.attr('id'),val);});我无法复制您的问题。现场演示:我已经在IE7、IE8和IE9中测试了这个演示。当我点击图像时,“选择文件”窗口会正常弹出。没有抛出“拒绝访问”错误。我明白了。触发单击不是问题,但引发错误的是表单提交。
var fileupload = $('#<%= fuplImage.ClientID %>');
$('#<%= imgPhoto.ClientID %>').click(function() {
fileupload.click();
});
fileupload.change(function() {
var val = fileupload.val();
if (val == '') return;
__doPostBack(fileupload.attr('id'), val);
});