|
jQuery ajax аплоад файлов
пытаюсь сделать аплоад файлов на сервер.
задача: выбрать локальный файл, указать для него параметры (описание, какй-то тип, не важно, это указывает юзер) и по сабмиту отправить его, а все введённые параметры записать в базу. использую jQueryForm. получается всё, кроме загрузки файла. пробовал плагины alaxfileuploader, oneclickupload. если грузить файл отдельно, то работает. если передавать еще и параметры, вылазит "Error: Form elements must not be named "submit"." В какую сторону копать? мож я принципиально чтото не так делаю, jquery только начал изучать. |
код?
|
$(document).ready(function() { var options = { beforeSubmit: showRequest, // pre-submit callback success: showResponse // post-submit callback }; $('#formadd').submit(function() { $(this).ajaxSubmit(options); return false; }); $('#upload1').upload({ name: 'file', method: 'post', enctype: 'multipart/form-data', action: 'upload.php' }); }); function showRequest(formData, jqForm, options) { var queryString = $.param(formData); alert('About to submit: \n\n' + queryString); centerPopup(); loadPopup(); return true; } function showResponse(responseText, statusText) { disablePopup(); alert('status: ' + statusText + '\n\nresponseText: \n' + responseText); } |
Цитата:
|
передаются еще несколько текстовых полей, чекбокс и выпадающий список.
|
а что говориться в сообщении об ошибке понимаешь?
|
понимаю.
но когда нет кода, где передаётся файл, то всё работает отлично, и его сабмиты не волнуют ) |
а что происходит, если исправить код в соответствии с ошибкой?
|
извините, я чуть не правильно описал проблемму.
такая ошибка вылазит, когда используется обычный инпут типа файл. когда используется ванкликаплоад, он работает, только он шлёт сабмит, когда я выбираю файл, то есть не даёт установить другие параметры ( как всё запутано |
ммм ... а такой вариант?
$('#upload1').upload({ name: 'file', method: 'post', enctype: 'multipart/form-data', action: 'upload.php', [B] onSubmit: function() { $('#formadd').ajaxSubmit(options);[/B] }, onComplete: function(data) { $('#progress1').text('Файл успешно отправлен'); } }); |
Часовой пояс GMT +3, время: 02:49. |
|