Вопрос про веб-форму(с меня баланс)
Доброго времени! Ну понеслась..
Опишу суть есть веб форма, какие то text поля, файл, капча. Проблема вся состоит в этом файле. Мне нужно сперва отправить файл на сервер, после получить к нему путь, и передать этот путь в веб-форму. Подключил плагин, посмотреть работу можно здесь - jQuery Form Plugin. Всё вроде просто, но из за незнание javascript'a у меня проблема на 2 дня, я не понимаю логику, последовательность. :(. HTML <form enctype="multipart/form-data" method="post" action="/tmpl/ajax/upload.php" id="jq_vac_formid"> <input type="file" name="jq_vac_file"> <input type="submit" value="отправить файл"> </form> вызов таков // Загрузка файла var bar = $('.up_bar');// Для loader'a var percent = $('.up_percent');// Для loader'a var status = $('#up_status');// Просто передаст статус после успешной загрузки $('#jq_vac_formid').ajaxForm({// по id формы работает функция плагина beforeSend: function() { status.empty(); var percentVal = '0%'; bar.width(percentVal) percent.html(percentVal); }, uploadProgress: function(event, position, total, percentComplete) { var percentVal = percentComplete + '%'; bar.width(percentVal) percent.html(percentVal); //console.log(percentVal, position, total); }, success: function() { var percentVal = '100%'; bar.width(percentVal) percent.html(percentVal); }, complete: function(xhr) { status.html(xhr.responseText); alert(xhr.responseText); } }); Тестил, файл отправляется, loader работает. alert(xhr.responseText); - выдаёт мне путь. Все хорошо. Дальше я пишу обработку клика для веб-формы $('.jq_test').click(// Кликнули на элемент submit веб-формы function(){ // тут скажем я проверю поле input name="jq_vac_file" на наличие файла // напишу ещё всякой беды в основном сбор значений с остальных input'ов и их проверки. // Пользователь выбрал файл // после каких то условий, если все хорошо - вызову принудительно клик submit // файл отлично закачаеться на сервер // alert(xhr.responseText); - выдаст мне путь $('#jq_vac_formid').submit(); // Но что делать дальше? // Мне нужно получить на него ссылку для дальнейших манипуляций // Подумав репой :) мне нужно дождаться загрузки каким то методом onload? или подобным, тк пока не шарю в этом. // как то передать сюда xhr.responseText // Как быть? // Просто чтобы было понятно, дальше работает пост $.post( // Который и должен передать этот путь. ); }); UDP. Благодарю за оперативность! Да просто заранее спасибо! :) UDP. Ну или хотя бы скажите в какую сторону копать,буду лапатить дальше... |
Цитата:
Зачем засылать файл вперед формы? Зачем все усложнять? Почему не делать все (отправка формы, засыл файла) одним HTTP-запросом? |
Вопрос закрыт, подсказали на другом ресурсе.
Цитата:
|
Часовой пояс GMT +3, время: 00:20. |