可能重复:
Upload files using input type=“file” field with .change() event not always firing in IE and Chrome
我有以下代码,使用.submit()
成功上传图像// Photo Upload Form - AutoUpload
$('input#file').change(function() {
var maxsize = '20971520';
var fileExtension = $(this)
.val()
.split('.')
.pop()
.toLowerCase();
if(this.files[0].size > maxsize) {
$('h4#maxFileSizeExceeded').show();
}else if($.inArray(fileExtension, ['gif','png','jpg','jpeg']) == -1) {
$('h4#fileTypeNotAllowed').show();
}else{
if(pushState == '0') {
$('div#uploadPercentage').hide();
$('img#uploadGifLoaderHTML4').fadeIn('fast');
}
$('form#joinPhotoUploadForm').submit();
jcrop_api.destroy();
$('div#croppingBackgroundContainer').fadeIn(1000);
$('div#cropBoxWrapper').css('margin-left', '0px');
}
});
我遇到的问题是,如果用户再次请求相同的文件,则没有更改,并且提交不会触发。
是否有办法再次请求同一个文件或再次知道同一个文件或者可以对input type =“file”进行某种重置?
*********************更新
<form action="scripts/php/photo_processing.php?page=join§ion=precrop" id="joinPhotoUploadForm" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
</form>
用户单击浏览按钮并可以选择图像。如果用户选择不同的图像,则图像将上载。但是,如果用户选择相同的图像,则.change()函数根本不会触发。我假设因为它保持与以前相同的状态。
THX
答案 0 :(得分:0)
如果在input[type=file]
中选择了相同的文件,则不会调用change
事件,因为没有更改。添加一个按钮以再次激活您的代码或使用表单上的submit
事件。