У меня есть приложение, в котором пользователи могут загружать изображения в базу данных через форму. Можно загрузить максимум 6 фотографий. Пользователь может либо выбрать 6 фотографий одновременно, либо выбрать фотографии по отдельности максимум 6 раз перед отправкой формы. Затем у меня есть скрытое поле ввода, которое получает имя файла, указанное ниже.Как сохранить значения массива в скрытом поле ввода до его замены новым массивом
<div id="content" >
<input type="file" name="files[]" id="filer_input2" multiple>
<input type="hidden" class="mediafile" name="mediafile"/>
</div>
Проблема заключается в том, что пользователь нажимает на область загрузки, а скрытое поле ввода теряет ранее сохраненные данные. Ниже приведен бит jquery и скриншот без ввода скрытых для демонстрации. Я хотел бы знать, как я могу получить имена файлов, добавленные в поле ввода вместо замены его, когда пользователь выбирает файл 2-го или 3-й раз ....
<script>
$(document).ready(function(){
$('#filer_input2').change(function(){
var files = $(this)[0].files;
var output = "";
if(files.length > 0){
for (var i = 0; i < files.length; i++) {
output += files[i].name+",";
}
$(".mediafile").val(output);
}
});
});
</script>
Форма отправлена нормально или с AJAX? В случае, если это нормальная обратная передача, вы наверняка потеряете значения, если не останетесь на стороне сервера и установите их, как только форма будет отправлена успешно, и вы получите ответ. Форма –
обычно отправляется с php –
Ну, тогда вы должны сохранить уже выбранные имена файлов на стороне сервера, используя сеанс или в cookie или Local Storage, после того, как форма была успешно отправлена. поэтому вы можете легко получить и применить свою проверку. –