将普通表单与文件输入与拖放区相结合
Combine normal form with file inputs with dropzone
我在将"正常"形式与拖放区相结合时遇到问题。我有一个包含文本输入、文件输入和拖放区部分的表单。我想一次发布所有内容。所以我正在手动创建拖放区字段,我正在禁用autoProcessQueue
区的功能并绑定到提交按钮onClick
。
<form action="/Exhibits/Create" enctype="multipart/form-data" id="newExhibitForm" method="post">
<input id="Exhibit_Name" name="Exhibit.Name" type="text"
<input id="Exhibit_Description" name="Exhibit.Description" type="text">
<input id="ModelFile" name="ModelFile" type="file">
<input id="TextureFile" name="TextureFile" type="file">
<div id="dropzonePreview" class="dropzone-previews form-control dz-clickable">
<div class="dz-message">Drag&drop</div>
</div>
<input type="submit" value="Create" class="btn btn-default">
</form>
JS部分:
var photoDropzone = new Dropzone("#newExhibitForm", {
url: $('#newExhibitForm').attr("action"),
autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 10,
maxFiles: 10,
previewsContainer: '#dropzonePreview',
clickable: '#dropzonePreview',
// The setting up of the dropzone
init: function () {
var myDropzone = this;
var submitButton = document.querySelector('input[type=submit]');
myDropzone = this; // closure
submitButton.addEventListener("click", function (e) {
e.preventDefault();
e.stopPropagation();
if (myDropzone.getQueuedFiles().length === 0) {
$('#newExhibitForm').submit();
}
else {
myDropzone.processQueue();
}
});
}
});
当我通过单击提交按钮提交表单时,在服务器端功能中有拖放区文件、文本输入,但不发送文件输入。
有没有办法让它按照我在开头描述的方式工作?
问候
康拉德
很
抱歉,但此时每个文件都会单独上传。因此,您需要将文件单独存储在服务器上,然后在 dropzone 发出 complete
事件时,您将发送其余的输入字段。
相关文章:
- 拖放区中可拖动的 Jqueryui 不会滚动,会恢复,滚动条存在
- 拖放区.js禁止从服务器检索时的进度条
- 拖放区插件为每个上传的图像添加输入
- 整个页面作为拖放的拖放区
- 拖放区形式是全身的
- 拖放区缩略图宽度图像大小
- 拖放区将动态属性追加到 #dz 删除
- 如何停止在拖放区上传第二张图像
- 将普通表单与文件输入与拖放区相结合
- 如何检查拖放区中是否已有图像
- 拖放区未在表单中显示自身
- 从单独的文件加载拖放区不会加载
- 无法使用拖放区上传图像.js |导轨 4 和回形针
- 拖放区 AMD 需要 JS 问题
- 使用拖放区将文件直接上传到 Azure Blob 存储(使用 SAS).js
- 将拖放区与 .NET 母版页和用户控件一起使用
- 拖放区.js不起作用,没有错误
- 使用 nodejs 上传文件,使用拖放区快速和角度
- 如何在图标单击时激活拖放区
- 为什么我的拖放区 JavaScript 表单不起作用