Почему событие click для окна просмотра файлов не работает?

для выбранных изображений:

Я пытаюсь выбрать как минимум 3 изображения. Если он превышен 3, он предупреждает "пожалуйста, выберите 3" и снова автоматически откроет окно просмотра файлов.

До 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() и $ ('# photoimg'). click() ;.

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

чтобы проверить, что это событие клика было принято, нажмите событие, но файл не работал. Почему он не работает?

2 ответа

Из-за соображений безопасности вы не можете выполнить событие click для ввода файла. Вы можете сделать это, создав пользовательский элемент, который ведет себя как элемент ввода файла.


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/

licensed under cc by-sa 3.0 with attribution.