На странице html есть форма, в которую нужно установить значения после загрузки страницы. А именно - имена изображений если те в свою очередь есть.
HTML
<form id="pictures" method="POST" enctype="multipart/form-data">
<div style="display:-webkit-box;">
<div id="image-1" class="U-image"><span class="trash-image glyphicon glyphicon-trash" onclick="removeImage(1)"> </span></div>
<input type="file" id="1" style="display:none;" name="image" accept="image/png, image/jpeg, image/gif">
<div id="image-2" class="U-image"><span class="trash-image glyphicon glyphicon-trash" onclick="removeImage(2)"> </span></div>
<input type="file" id="2" style="display:none;" name="image" accept="image/png, image/jpeg, image/gif">
<div id="image-3" class="U-image"><span class="trash-image glyphicon glyphicon-trash" onclick="removeImage(3)"> </span></div>
<input type="file" id="3" style="display:none;" name="image" accept="image/png, image/jpeg, image/gif">
<div id="image-4" class="U-image"><span class="trash-image glyphicon glyphicon-trash" onclick="removeImage(4)"> </span></div>
<input type="file" id="4" style="display:none;" name="image" accept="image/png, image/jpeg, image/gif">
<button type="submit" class="btn btn-default" style="float:right;"><b>Ok!</b></button>
</div>
</form>
Нужно проверить имена файлов на сервере, а приходят в лучшем случае пустые строки.
JS
$(window).ready(function(){
let items = $('#carousel').find('img').map(function(){ return $(this).attr('src'); }).get();
let sImg = $('#pictures');
for(x=1; x<items.length+1; x++){
$(sImg).find('#image-'+x).css({'background-image': "url("+items[x-1]+")"});
var fInput = $('#pictures #'+x);
let f = 'S-'+x+'.jpg'; // имена задаются по факту наличия изображения.
const fileTMP = new File (['Empty file'], f,{
type : 'text/plain', lastModified : new Date(),
});
const dataTransfer = new DataTransfer();
dataTransfer.items.add(fileTMP);
fInput.files = dataTransfer.files;
alert(fInput); // [object Object]
alert(fInput.name); // undefined!!
}
}
Как установить имя для input type="file" ?