Передать загруженное имя файла в скрытое поле ввода

У меня есть 2 формы на одной странице, первая: dropzone и вторая: форма, которую пользователь должен заполнить. Я хочу, чтобы, когда пользователь загрузил файл в dropzone, он добавил скрытый ввод во второй форме. Вот моя форма

<form action="/users/upload.php" class="dropzone needsclick dz-clickable" id="poster"></form>
<form action='' method='post' name='create' enctype="multipart/form-data">
<div id="ideaform"></div>
</form>

и вот мой upload.php

    <?php
if (!empty($_FILES)) {

$tempFile = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$x = explode('.', $name);
$ext = strtolower(end($x));
$name = md5(time().$name).'.'.$ext;
move_uploaded_file($tempFile, 'images/uploaded/'.$name);
}
?>

и я исследовал Интернет об этом методе, чтобы получить имя файла и установить его значение на скрытом вводе, и нашел этот jQuery, и всякий раз, когда я пытался загрузить файлы, значение на скрытом вводе всегда «неопределено»

 Dropzone.options.poster = {
maxFiles:1,
acceptedFiles: "image/*",
init: function() {
this.on("maxfilesexceeded", function(file) {
this.removeAllFiles();
this.addFile(file);
});
this.on('success', function(file, response) {
$("#ideaform").append($('<input type="hidden" ' + 'name="files" ' + 'value="' + response.fileName + '">'));
});
}
};

Куда я иду не так?
Большое спасибо.

0

Решение

Решения, которые я нашел, — это использование JSON. Вот код:

Dropzone.options.poster = {
acceptedFiles: "image/*",
maxFilesize: 5, // MB
maxFiles: 1,
init: function() {
this.on("maxfilesexceeded", function(file) {
this.removeAllFiles();
this.addFile(file);
});

this.on('success', function(file, response) {
JSON.parse(response);
console.log(response);
$("#ideaform").append($('<input type="hidden" name="file"  value='+response+'>'));
});
}
};

и для формы действий я получил это

    <?php
if (!empty($_FILES)) {

$tempFile = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$x = explode('.', $name);
$ext = strtolower(end($x));
$name = md5(time().$name).'.'.$ext;
move_uploaded_file($tempFile, 'images/uploaded/'.$name);
$ar = $name;
echo json_encode($ar);
}
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]