JQuery 文件上传未重置
JQuery File Upload Not Reseting
我有一个多文件上传解决方案,在单击 "Reset" 按钮后不会清除文件。查看 JSFIDDLE Demo 解决方案。
这是 HTML:
<form id="ImageUpload" action="#">
<div class="field" align="left">
<h2 class="page-header">Upload your images</h3>
<div class="form-group">
<div class="file-loading">
<input type="file" id="files" name="files[]" multiple />
</div>
</div>
</div>
<hr />
<div class="text-center">
<button type="submit" name="Submit" class="btn btn-success">Submit</button>
<button type="reset" name="Reset" class="btn btn-danger">Reset</button>
</div>
</form>
这是Javascript:
$(document).ready(function() {
if (window.File && window.FileList && window.FileReader) {
$("#files").on("change", function(e) {
var files = e.target.files,
filesLength = files.length;
for (var i = 0; i < filesLength; i++) {
var f = files[i]
var fileReader = new FileReader();
fileReader.onload = (function(e) {
var file = e.target;
$("<span class=\"pip\">" +
"<img class=\"imageThumb\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
"<br/><span class=\"remove\"><i class='fa fa-times'></i></span>" +
"</span>").insertAfter("#files");
$(".remove").click(function() {
$(this).parent(".pip").remove();
});
});
fileReader.readAsDataURL(f);
}
});
} else {
alert("Your browser doesn't support to File API")
}
});
期望的结果是不仅清除所选文件的数量("Choose Files" 按钮)而且清除预览图像。
下面显示的体验是按下 "Reset" 按钮时的预期结果。
非常感谢任何帮助,谢谢!
为您的重置按钮点击添加一个功能。
$("button[name='Reset']").click(function() {
var $input = $("#files");
// Clear your input file value
$input.replaceWith($input.val('').clone(true));
// Then clear the preview of the images
$('.pip').html('');
});
您需要为重置按钮点击事件添加一个函数。您可以执行以下操作:
$(document).on('click', '[name=Reset]', function(){
$('.pip').remove();
})
我有一个多文件上传解决方案,在单击 "Reset" 按钮后不会清除文件。查看 JSFIDDLE Demo 解决方案。 这是 HTML:
<form id="ImageUpload" action="#">
<div class="field" align="left">
<h2 class="page-header">Upload your images</h3>
<div class="form-group">
<div class="file-loading">
<input type="file" id="files" name="files[]" multiple />
</div>
</div>
</div>
<hr />
<div class="text-center">
<button type="submit" name="Submit" class="btn btn-success">Submit</button>
<button type="reset" name="Reset" class="btn btn-danger">Reset</button>
</div>
</form>
这是Javascript:
$(document).ready(function() {
if (window.File && window.FileList && window.FileReader) {
$("#files").on("change", function(e) {
var files = e.target.files,
filesLength = files.length;
for (var i = 0; i < filesLength; i++) {
var f = files[i]
var fileReader = new FileReader();
fileReader.onload = (function(e) {
var file = e.target;
$("<span class=\"pip\">" +
"<img class=\"imageThumb\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
"<br/><span class=\"remove\"><i class='fa fa-times'></i></span>" +
"</span>").insertAfter("#files");
$(".remove").click(function() {
$(this).parent(".pip").remove();
});
});
fileReader.readAsDataURL(f);
}
});
} else {
alert("Your browser doesn't support to File API")
}
});
期望的结果是不仅清除所选文件的数量("Choose Files" 按钮)而且清除预览图像。
下面显示的体验是按下 "Reset" 按钮时的预期结果。
非常感谢任何帮助,谢谢!
为您的重置按钮点击添加一个功能。
$("button[name='Reset']").click(function() {
var $input = $("#files");
// Clear your input file value
$input.replaceWith($input.val('').clone(true));
// Then clear the preview of the images
$('.pip').html('');
});
您需要为重置按钮点击事件添加一个函数。您可以执行以下操作:
$(document).on('click', '[name=Reset]', function(){
$('.pip').remove();
})