Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dropzone表单未正确处理_Javascript_Html_Django_Forms_Dropzone.js - Fatal编程技术网

Javascript Dropzone表单未正确处理

Javascript Dropzone表单未正确处理,javascript,html,django,forms,dropzone.js,Javascript,Html,Django,Forms,Dropzone.js,我有一个小的django应用程序:用户上传一个文件,在服务器端修改该文件,修改后的文件作为下载返回给用户。 为了提供一个漂亮的拖放文件上传表单,我使用dropzone.js。表单包含其他输入元素,因此我遵循了以下步骤。提交表单后,django视图返回一个HttpResponse对象: response = HttpResponse(f.read(), content_type="application/pdf") response['Content-Disposition'] = 'attach

我有一个小的django应用程序:用户上传一个文件,在服务器端修改该文件,修改后的文件作为下载返回给用户。 为了提供一个漂亮的拖放文件上传表单,我使用dropzone.js。表单包含其他输入元素,因此我遵循了以下步骤。提交表单后,django视图返回一个HttpResponse对象:

response = HttpResponse(f.read(), content_type="application/pdf")
response['Content-Disposition'] = 'attachment; filename="%s"' % input_file
我的问题是:如果使用基于dropzone的表单,则不会显示响应,即浏览器不会显示下载对话框

以下是我的html文件的最小示例:

<form method="post" class="dropzone" action="/mysite/" enctype="multipart/form-data" id="myForm">
    {% csrf_token %}
    <select name="selectpdf" size="1">
    // filled by django magic
    </select>
    <p><button type="submit">Do it!</button></p>
 </form>

<script type="text/javascript">
    Dropzone.options.myForm = {
        // Prevents Dropzone from uploading dropped files immediately
        autoProcessQueue : false,
        forceFallback : false,

        init : function() {
            myDropzone = this;

            this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
                // Make sure that the form isn't actually being sent.
                e.preventDefault();
                e.stopPropagation();
                myDropzone.processQueue();
            });
        }
    };
</script>
以重定向用户。但事实上,我不想重定向他,我想要与普通HTML方法相同的行为(即,留在网站上,填写表单,提供下载,并能够再次点击提交按钮)

有人能帮忙吗

this.on("success", function(files, response) { ... }