为什么单击文件浏览窗口的事件不起作用?

时间:2014-11-13 09:10:30

标签: javascript jquery

选择图片

<input>

<input type="file" class="form-control forminputs files photoimg" multiple name="photoimg[]" placeholder="Choose 3 image files" accept="image/png,image/jpeg" id="photoimg" /> 

我正在尝试选择至少3张图片。如果超过3,则提醒&#34;请选择3&#34;并再次自动打开文件浏览窗口。

最多alert一切正常,但在该文件浏览窗口未打开之后。

JS代码:

$('#photoimg').change(function() {
    var files = this.files.length;
    if (files > 3)
    {
        alert("Please select 3 images only(png/jpg)");
        document.getElementById("photoimg").click();
    } 
});

尝试使用this.click()和$(&#39; #photoimg&#39;)。click();.

 $('#photoimg').click(function() {
     alert("clicked");
     });

测试它点击事件,点击事件工作但仍然文件浏览无法正常工作。 为什么它不起作用?

2 个答案:

答案 0 :(得分:0)

Here is the working demo
$('#photoimg').change(function() {
var files = this.files.length;
if (files != 3)
{
    alert("Please select 3 images only(png/jpg)");
    document.getElementById("photoimg").click();
} 
});

http://jsfiddle.net/silpa/4fbz5f1m/4/

答案 1 :(得分:0)

出于安全原因,您无法为文件输入执行click事件。您可以通过创建与文件输入元素类似的自定义元素来实现。