向图像添加字段(输入)

时间:2016-09-23 15:38:39

标签: javascript jquery dropzone.js

我使用dropzone上传多张图片,并且工作正常,直到我想为每张图片插入品牌和网址。

我唯一的问题就是当我要从输入字段中获取值时,我从服务器获取来自fieds(品牌,网址)的未定义值的myt请求但是如果我使用静态文本它似乎没有问题。

这是我的代码:

 $('#add').on('click',function(e){
        e.preventDefault();
        myDropzone.processQueue();
    });

   Dropzone.autoDiscover = false;
    // Dropzone class:
    var myDropzone = new Dropzone("div#myId", {
        url: "/galleries",
        autoProcessQueue:false,
        headers: {
            'X-CSRF-TOKEN': 'vjghjghjhgjghjghjghjgLxX',

        },
        params: {
            'brand': $('#brand').val(),
            'url' : $('#url').val(),
            'description': 'small detail'
        },
        previewTemplate: "<div class=\"dz-preview dz-file-preview\">\n  " +
        "<div class=\"dz-image\"><img data-dz-thumbnail /></div>\n " +
        "<input type=\"text\" id=\"brand\" name=\"dz-brand\">\n " +
                "<input type=\"text\" id=\"url\" name=\"dz-url\">\n 
..../div>"
             }



   );

1 个答案:

答案 0 :(得分:1)

编辑:更新了所有答案:

您的ID不是唯一的,因此您无法从ID选择器中可靠地获取输入数据。

将模板中输入的ID更改为以下类:

previewTemplate: "<div class='dz-preview dz-file-preview'>\n  " +
    "<div class='dz-image'><img data-dz-thumbnail /></div>\n " +
    "<input type='text' class='dz-brand' value='This is the text'> \n " +
    "<input type='text' class='dz-url'>\n </div>"

然后使用发送事件添加参数,这将获得上传时的输入值。

myDropzone.on("sending", function(file, xhr, formData) {
    formData.append('brand'      , $(file.previewElement).find('.dz-brand').val());
    formData.append('url'        , $(file.previewElement).find('.dz-url').val());
    formData.append('description', 'small detail');
});

请参阅此处的文档:http://www.dropzonejs.com/#event-sending