工作中上传文件遇到的一个问题,文件名不变的情况下,第一次上传文件正常,修改文件内容后,不刷新页面,再次上传文件(注:刷新页面的话,不存在这个问题)。js报错net::ERR_UPLOAD_FILE_CHANGED,原因:浏览器比较注意文件安全,你修改并保存那就是新的文件,浏览器是不具有新文件的访问权限的,除.非你再走一遍选择文件这个流程。
复现问题:选择文件,这时要不要点提交按钮,去修改选择文件里面的内容,再点击提交按钮。
HTML 的DOM querySelector()方法可以不需要额外的jQuery等支持,也可以方便的获取DOM元素,语法跟jQuery类似。注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。
// An highlighted block
<script type="text/javascript">
<!--解决方法:使用jQuery库重置输入标签-->
function reInput(){
document.querySelector("#upload_input").addEventListener("click",
function(event){
$("#upload_input").val("");
})
}
</script>
<input type="file" name="" id="upload_input" value="" onchange="reInput()"/>
也可以直接使用下面jQuery的方式
function reInput(obj) {
$(obj).click(function () {
$(this).val("");
});
}
<input type="file" onchange="reInput(this)"/>