// triggering input:file click via <a> tag click
$('.upload_company_logo').on('click', function(e){
e.preventDefault();
$('#addCompanyLogo input:file').click();
});
// main submit event
$('#addCompanyLogo').submit(function() {
$(this).unbind('submit').ajaxSubmit({
iframe: true,
url : _ROOT + 'users/upload_company_logo',
success: function (responseText, statusText) {
var response = $.parseJSON(responseText);
if(statusText == 'success') {
var response = $.parseJSON(responseText);
$('.the_company_logo').attr('src', _ROOT + 'image/company_logo/' + response.tmp_name + '?t=' + (new Date()).getTime())
}
}
});
return false;
});
// submitting form
$('#addCompanyLogo input:file').on('change', function() {
$('#addCompanyLogo').submit();
});
我尝试上面代码通过Ajax上传图片,并且它在所有浏览器中工作正常,除了IE,在IE中显示错误Access is Denied
。
有人想提一下,此处隐藏了form#addCompanyLogo
表单,并通过input:file
代码点击触发了<a>
更改事件。
答案 0 :(得分:0)
IE不支持通过onchange提交带有文件上传的表单。这是一种“安全”功能。只需通过直接点击更改为触发:)