Показать сообщение отдельно
  #1 (permalink)  
Старый 11.02.2018, 19:26
Аватар для kupidon
Аспирант
Отправить личное сообщение для kupidon Посмотреть профиль Найти все сообщения от kupidon
 
Регистрация: 18.03.2016
Сообщений: 69

Форма для загрузки файла по ссылке
Всем доброго времени суток. Прошу помощи.
На странице редактирования товара интернет магазина есть две формы по загрузке фото к данному товару. Работать должна так: в первую форму можно вставить ссылку на фото с внешнего сайта, нажать кнопку "загрузить" и фото загрузится на сервер.
Во второй форме загрузка идет с выбором файлов с локального компьютера. (Но если вместо файла в нее вставить ссылку с внешнего сайта, то все тоже прекрасно загружается).
То есть обработчик второй формы (zagruzka_foto()) подходит и для загрузки по ссылке. Из второй формы берется var myfiles=$('#photoimg').prop('files') и отправляется в скрипт обработчик zagruzka_foto(myfiles) и дальше уже происходит загрузка.
Мне надо чтобы используя один js-обработчик первая форма тоже заработала. Где мне взять такой объект в первой форме, чтобы передать его в обработчик $('#photoimg').prop('files') ?




Вторая форма готова и полностью работает. Вот ее часть кода:
<form name="upload_form">
 <div id="imageloadbutton" style="display: block;">
    <input id="photoimg" name="photos[]" multiple="true" type="file">
 </div>
</form>
// функция ajax загрузки фото 
	 $('#photoimg').change(function() { 
                var myfiles = $('#photoimg').prop('files');
		zagruzka_foto(myfiles); // передаем объект Filelist в функцию для ajax отправки файлов на сервер 
	});


Первая форма:
<form id="load_pic">
 <input value="" title="Вставьте сюда прямую ссылку на фотографию товара с сайта поставщика" maxlength="300" id="sp_load_photo" style="height:20px;width:300px;" placeholder="Доступные форматы: gif, jpg, png, bmp" type="text">
 <input id="iditem" value="1898470" type="hidden"><input value="Закачать" onclick="zagruzka_foto();" type="button">
</form>


Упрощу вопрос:
Вторая форма рабочая. Берет значение $('#photoimg').prop('files') и отправляет его в функцию загрузки:zagruzka_foto(myfiles)
Первая форма не рабочая. Как и что нужно передать в функцию zagruzka_foto()?
Ответить с цитированием