我正在使用iframe进行文件上传,并且在IE以外的所有浏览器中都能正常运行。它表示在form.submit行拒绝访问。请检查下面的代码。
$(function(){
$('.uploadBanner').click(function () {
$('.uploadFile').trigger('click');
});
$(".uploadFile").on('change', function(e){
e.preventDefault();
document.getElementById('bannerUploadForm').submit();
});
});
我的.uploadBanner是隐藏字段的click事件,而.uploadFile是隐藏文件类型
请告诉我。
答案 0 :(得分:1)
由于安全原因,IE不允许从javascript操纵type =“file”输入元素。
您可以解决此问题,检测浏览器是否ie
打开文件上传对话框并让用户手动点击
if(jQuery.browser.msie) {
$('#hiddenUploadForm').dialog();
}
else {
$('.uploadFile').click();
}
答案 1 :(得分:0)
IE明确禁止您以编程方式打开文件选择器对话框(通过触发单击事件),然后以编程方式上载任何所选文件。在这种情况下尝试提交表单时将发生错误。让用户点击文件输入元素,你会没事的。如果你需要设置文件输入元素的样式,那么这并不难。简单地使它变得不透明并添加使它成为包含适当样式的div的子项。如果需要,请在SO或Google上查看具体内容。