我想知道在输入文件的onchange事件结束后是否可以执行脚本?如果是这样,怎么样?
我对承诺很新,但我想知道是否可以实现这一点,特别是对于输入文件
<input type="file" id="myInput" multiple />
var inputControl = $('#myInput');
inputControl.on('change', function(e) { //Do something } ); //<--here call a script but only after onchanged finished
//inputControl.on('change', function(e) { //Do something } ).then(function(){ alert('later'); })?
目的是创建一个添加到输入文件的文件集合,并在某个不同时刻显示或对该集合执行另一项操作。我想分开责任。
更新
我重新提出了我的问题,但我不知道是否应删除此问题并创建另一个问题,或者只是在此处添加。我将继续这里,如果管理员要求删除或创建另一个问题,我会这样做。
我走了这么远,上面的问题无处可去。我想链接这个
var reader = new FileReader();
reader.onload = function(event) {
alert(event.target.result);
}
.then(completeIntroduction); // <--- Here execute a script after the onload ended
reader.readAsText(new Blob(["hello "]));
function completeIntroduction(){
alert("world");
}
&#13;
答案 0 :(得分:1)
这可以听取更改输入的方法
<input id="myInput" type="file">
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<script>
var inputControl = $('#myInput');
inputControl.on('change', function(e) {
alert(this.value);
});
inputControl.on('change', function(e) {
setTimeout(function(obj)
{
alert(obj.value);
},500, this);
});
</script>
答案 1 :(得分:0)
小主意:
var inputControl = $('#myInput');
//Store Files in array object.
var files = [];
inputControl.bind('change', function (e) {
files.push($(this));
window.setTimeout(function(){
showAllSelectedFiles();
},1000);
});
function showAllSelectedFiles(){
for (var i=0; i < files.length; i++){
var file = files[i];
var name = file.val();
//Your code here.
}
}