Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 不可见文件上载控件导致IE中javascript回发错误_Asp.net_.net_Internet Explorer_Webforms - Fatal编程技术网

Asp.net 不可见文件上载控件导致IE中javascript回发错误

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',非服务

我有asp.net webforms页面,带有文件上载控件和图像。当用户点击图像时,我触发文件上传点击,当点击确定时,我在客户端调用doPostBack。如果FileUpload是可见的,它可以正常工作,但是当我设置
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);
});