#javascript #jquery #ajax #upload #ajax-upload
#javascript #jquery #ajax #загрузка #ajax-загрузка
Вопрос:
Я хочу добавить опцию на свою страницу макета, чтобы позволить людям загружать новые логотипы «на лету». В настоящее время пользователи могут выбрать изображение, которое они хотели бы, с помощью выпадающего элемента выбора. Я хотел бы добавить опцию в конце, которая позволяет им загружать новое изображение. Затем я бы обновил элементы выбора изображения с новым дополнением.
Пример HTML:
<select name='image_select' id='image_select_id' class='input_select' title='Select Image 1'>
<option value='0' selected = 'selected'>--Select Logo--</option>
<option value='test.jpg'>test.jpg</option>
<option value='test2.jpg'>test2.jpg</option>
<option value='add' class='upload_option'>Add new image...</option>
</select>
Я использую AJAXUpload для других функций загрузки, но iFrame, похоже, не работает должным образом в этом случае. У кого-нибудь есть какие-либо предложения о том, как заставить это работать?
Комментарии:
1. не работает ли iframe из-за проблем с политикой того же источника?
2. Нет, скрипт загрузки отлично работает на других моих страницах, и все находится в том же домене, поэтому я не вижу проблемы с SOP, если только я чего-то не упускаю.
Ответ №1:
Единственный способ загрузить изображение способом AJAX — это с помощью iframe. Если бы мне нужно было посоветовать способ, я бы сделал это так, чтобы. Пользователь выбирает Добавить новые изображения. Функция onselect обнаруживает это и отображает форму в html-поле внизу. Для «цели» этой формы установлен идентификатор iframe. Также есть команда onSubmit в форме. Пользователь нажимает «Отправить», файл отправляется через iframe, затем вы можете использовать тег onSubmit, чтобы заставить ваш javascript открыть панель загрузки или что-либо еще, что вы хотите.