Я понимаю, что этот вариант вопроса появлялся много раз, но я не могу найти ответ на этот вопрос в таком контексте.
Я использую сторонний загрузчик файлов, который использует jQuery и дает обратный вызов после завершения загрузки файла.
Чего я хочу добиться, так это формы с текстовыми полями вместе с загрузчиком файлов, который, когда вы нажимаете «Отправить», запускает функцию загрузки (и файл начинает загружаться с индикатором выполнения) и ожидает обратного вызова успеха до приступаем к отправке формы.
Я должен сразу признать, что я полный идиот с jQuery, и это меня совершенно смущает, поэтому я очень не уверен, как этого добиться.
Мои попытки до сих пор приводят только к тому, что форма пытается отправить немедленно, пока идет загрузка файла.
Функция manualuploader.uploadStoredFiles();
запускается при нажатии кнопки «Загрузить сейчас».
jQuery, который создает экземпляр загрузчика файлов, выглядит следующим образом:
<form action="index.php" method="post" enctype="multipart/form-data" id="uploader">
<div id="manual-fine-uploader"></div>
<div id="triggerUpload" class="btn btn-primary" style="margin-top: 10px;">
<input type="text" name="textbox" value="Test data">
<input name="test" type="button" value="Upload now">
</div>
</form>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="fineuploader-3.6.3.js"></script>
<script>
$(document).ready(function() {
var manualuploader = new qq.FineUploader({
element: $('#manual-fine-uploader')[0],
request: {
endpoint: 'uploader.php'
},
autoUpload: false,
text: {
uploadButton: '<i class="icon-plus icon-white"></i> Select Files'
}
});
$('#triggerUpload').click(function() {
manualuploader.uploadStoredFiles();
});
});
</script>