#javascript #php #request #dropzone.js #dropzone
#javascript #php #запрос #dropzone.js #dropzone
Вопрос:
Моя проблема в том, что я должен объединить обычную форму с dropzone.js для загрузки перетаскиванием. После того, как пользователь нажимает кнопку отправки, затем ajax-запрос отправляет данные в php-скрипт, если во входных данных есть значения.
Но моя исходная форма вызывает функцию OnSave для проверки входных данных. Если я отправлю форму с приведенным ниже кодом, метод POST отлично отправляет данные, но OnSave не вызывается. Так что ничего не произошло.
Как я могу изменить код для вызова OnSave тоже после загрузки файлов?
<?php
function onSave(){
//validate and save to database
}
?>
<form method="POST" action="item/create" accept-charset="UTF-8" data-request="onSave" class="dropzone" enctype="multipart/form-data" id="mydropzone">
//inputs
<div id="dropzonePreview" class="dropzone dropzonePreview">
<div class="dz-default dz-message"><button class="dz-button" type="button">Drop files here to upload</button></div>
</div>
//more inputs
<button type="submit" class="btn btn-success save">Send</button>
</form>
<script type="text/javascript">
Dropzone.autoDiscover = false;
$( document ).ready(function () {
Dropzone.autoDiscover = false;
$("#mydropzone").dropzone({
autoProcessQueue: false,
uploadMultiple: true,
previewsContainer: '#dropzonePreview',
clickable: false,
accept: function(file, done) {
console.log("uploaded");
done();
},
error: function(file, msg){
alert(msg);
},
// The setting up of the dropzone
init: function() {
var myDropzone = this;
this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
//it's send form, but not call onSave function
});
}
});
});
</script>
Ответ №1:
Вы пытались вызвать onSave()
функцию?
init: function() {
var myDropzone = this;
this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
//it's send form, but not call onSave function
<?php onSave(); ?> // <----
});
Комментарии:
1. Но OnSave — это функция php.