Почему событие 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.