#jquery
#jquery
Вопрос:
Я хочу написать программу загрузки файлов jQuery, используя этот плагин http://aquantum-demo.appspot.com/file-upload Несмотря на то, что этот плагин действительно хорош, я столкнулся с проблемой.
Вот что я сделал: я разработал форму, в которой для загрузки графики используется плагин, указанный выше. Однако для этого подключаемого модуля также требуется форма для активации PHP.
Выдержка из программы:
<form action="" method="get">
<--This layer probably needs other form information ex: name, telephone no....etc !-->
<form action="upload.php" method="POST" enctype="multipart/form-data">
<div class="fileupload-buttonbar">
<label class="fileinput-button">
<span>Add files...</span>
<input type="file" name="files[]" multiple>
</label>
<button type="submit" class="start">Start upload</button>
<button type="reset" class="cancel">Cancel upload</button>
<button type="button" class="delete">Delete files</button>
</div>
</form>
</form>
Я знаю, что неисправность вызвана двумя формами, если да, есть ли какой-либо способ это исправить?
Или есть лучшие способы отправки форм? Пожалуйста, ПОМОГИТЕ мне! Спасибо, ребята!
Ответ №1:
Проблема в том, что у вас есть вложенные формы. Не используйте вложенные формы. Их поведение не определено.
Глядя на ваш код, неясно, зачем вам вообще нужна первая форма. Он не имеет никакого действия и поэтому, похоже, ничего не делает. Есть ли причина, по которой вы не можете включить элементы управления загрузкой файлов в существующую форму?
Если вы не можете, вы можете сделать одну из двух вещей:
- Не предоставляйте кнопку отправки для формы загрузки файла. Добавьте обработчик отправки в контактную форму. В этом обработчике вы можете явно запустить событие отправки в форме загрузки файла. Этот метод требует меньше работы на интерфейсе, но у вас есть два явных представления, и поэтому вам, вероятно, понадобится код на серверной части, чтобы выяснить, какие файлы связаны с какими контактами.
- В форме загрузки файла есть скрытые поля, которые совпадают с полями в вашей контактной форме. Не предоставляйте обработчик отправки для контактной формы. Добавьте обработчик отправки в форму загрузки файла. В этом обработчике вы можете копировать значения из контактной формы в скрытые поля формы загрузки файла. Этот метод требует больше работы на интерфейсе, но вы отправляете все за один раз, и поэтому вам не нужно выполнять дополнительную работу на серверной части, чтобы выяснить, какие файлы отправляются с каким контактом. В целом я думаю, что этот метод проще.