// 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>