Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我不能在从“文件选择”对话框中选择一次后立即再次选择同一文件?_Javascript_Html - Fatal编程技术网

Javascript 为什么我不能在从“文件选择”对话框中选择一次后立即再次选择同一文件?

Javascript 为什么我不能在从“文件选择”对话框中选择一次后立即再次选择同一文件?,javascript,html,Javascript,Html,考虑以下HTML: <input id="file" name="file" type="file"></input> <div id="filenames"></div> 还有,找到 现在我的问题是,我似乎无法在选择一次后立即再次选择同一个文件。但是,如果我在两者之间选择其他文件,我可以再次选择我以前的文件 为什么会发生这种情况?我如何防止这种情况 提前通知 一种方法是在更改实际发生之前,在单击事件中将的值设置为null,例如: window.

考虑以下HTML:

<input id="file" name="file" type="file"></input>
<div id="filenames"></div>
还有,找到

现在我的问题是,我似乎无法在选择一次后立即再次选择同一个文件。但是,如果我在两者之间选择其他文件,我可以再次选择我以前的文件

为什么会发生这种情况?我如何防止这种情况


提前通知

一种方法是在更改实际发生之前,在单击事件中将的值设置为null,例如:

window.onload = function() {
    var el = document.getElementById("file");       
    el.onclick = function(){
        this.value = null;
    }        
    el.onchange = function(){
        var gcUploadFile = this.files[0];
        var filename = gcUploadFile.name || gcUploadFile.fileName;
        var fn = document.getElementById("filenames");
        var newP = document.createElement("p");
        newP.innerHTML = filename;
        fn.appendChild(newP);
    }
}

thanx很多。。。这么简单
window.onload = function() {
    var el = document.getElementById("file");       
    el.onclick = function(){
        this.value = null;
    }        
    el.onchange = function(){
        var gcUploadFile = this.files[0];
        var filename = gcUploadFile.name || gcUploadFile.fileName;
        var fn = document.getElementById("filenames");
        var newP = document.createElement("p");
        newP.innerHTML = filename;
        fn.appendChild(newP);
    }
}