0

我是一个非常糟糕的 Js 编码器,目前正在学习。虽然我必须探测我想修复。

我的页面上有一个 Dropzone 片段,其本地设置如下所示:

var AUTH_TOKEN=$('meta[name="csrf-token"]').attr('content');
    Dropzone.autoDiscover = false;
    var myDropzone = new Dropzone("div#mydropzone",{
        url: "<%= photographe_photographephotos_path(@photographe.hashed_id) %>",
        // url: "<%= photographe_path(@photographe.hashed_id) %>",
        // method: "patch",
        autoProcessQueue: false,
        autoDiscover: false,
        uploadMultiple: true,
        addRemoveLinks: true,
        // clickable: false,
        parallelUploads: <%= @slots_libres %>,
        maxFilesize: 5,
        maxFiles: <%= @slots_libres %>,
        acceptedFiles: 'image/jpg, image/jpeg, image/png',
        params:{
            'authenticity_token':  AUTH_TOKEN
        },
        successmultiple: function(data,response){
            $('#msgBoard').append(response.message).addClass("alert alert-success");
            $('#msgBoard').delay(2000).fadeOut();
            $('#fileslist').val(response.filesList);
            $('#photographedit').off('submit').submit();
        }
    });
    $('#photographedit').submit(function(e){
        if(myDropzone.getQueuedFiles().length > 0){
            e.preventDefault();
            myDropzone.processQueue();
        }
    });

它运作良好。

它允许将图像上传到一定的限制。这个限制是通过这条线实现的:

maxFiles: <%= @slots_libres %>,

@slots_libres是可能上传的图片数量(用 ruby​​ 计算)。此服务器端值仅在 html/Js 中显示为纯文本,例如:

maxFiles: 6,

现在这是我的问题:

用户可以通过 Ajax 即时删除图片。如果不重新加载页面maxFiles值,则永远不会更改,然后不允许上传一张额外的图片。

而且我不知道应该在上面的 Js 代码中添加什么 Javascript 才能改变这个值?(我知道如何通过 Ajax 操作 DOM,但是更改当前正在运行的函数是我还不知道该怎么做的事情......)

4

0 回答 0