javascript – 文件输入元素的更改事件

我有4个文件输入,我想要它们触发上传过程,当它们的值改变时.
我的意思是当你选择一个图片并点击打开选择图像对话框,上传图片的脚本被触发.我使用了onchange事件,但我认为这不是正确的事件:

JS:

$("input[type=file]").on('change',function(){
    alert(this.val());//I mean name of the file
});

HTML:

<div class="form-group col-md-11 col-md-offset-1">
    <input type="file" name="photos[]">
    <input type="file" name="photos[]">
    <input type="file" name="photos[]">
    <input type="file" name="photos[]">
</div>

我该怎么办?

解决方法

OnChange活动是一个不错的选择.但如果用户选择相同的图像,则不会触发事件,因为当前值与上一个值相同.

例如,图像与宽度已更改相同,应将其上传到服务器.

为了防止这个问题,你可以使用下面的代码

$(document).ready(function(){
    $("input[type=file]").click(function(){
        $(this).val("");
    });

    $("input[type=file]").change(function(){
        alert($(this).val());
    });
});

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...