将 dropzone 上传的文件名传递给隐藏的输入字段

Pass dropzone uploaded filename to hidden input field

我在一页中有 2 个表单,first: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 并且每当我尝试上传文件时,隐藏输入上的值总是 "undefined"

 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 + '">'));
                    });
                }
            };

我哪里错了? 非常感谢。

我找到的解决方案是使用 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);
}
?>