我尝试将以下表单和输入与 Dropzone 代码结合使用:
<form action="/carrier/hr/employees/show/{{$employee->id}}/uploadAttachment" class="dropzone">
<div class="dropzone-previews"></div>
<input name="employeeID" value="{{$employee->id}}" type="hidden">
{{ csrf_field() }}
<div class="fallback">
<input name="file" type="file" multiple />
</div>
</form>
Date:
<input type="date" name="date" class="form-control" id="date">
Due Date:
<input type="date" name="dueDate" class="form-control" id="dueDate">
Type:
<select id="type" class="form-control" name="type">
<option>Please Select</option>
<option value="Drivers License">Drivers License</option>
</select>
这是当前 Dropzone 特定的脚本:
<script>
$(document).ready(function() {
// disable auto discover
Dropzone.autoDiscover = false;
var providerDropzone = new Dropzone(".dropzone", {
paramName: 'file',
maxFilesize: 10, // MB
maxFiles: 20,
acceptedFiles: ".jpeg,.jpg,.png,.gif,.pdf,.doc,.docx,.xlsx,.xls",
init: function() {
this.on("sending", function(file, xhr, formData) {
formData.append("date", $('#date').val());
formData.append("dateDue", $('#dueDate').val());
formData.append("type", $('#type').val());
console.log(formData)
});
}
});
providerDropzone.on("queuecomplete", function(file) {
location.reload();
});
});
</script>
我希望能够将日期、dueDate 和类型字段与所有上传一起发送,但不幸的是,除了表单中的内容(并且employeeID 只是一个测试字段)之外,什么都没有提交。
但是如果我将输入移到表单部分,这些字段会重叠并填充实际的 Dropzone 区域。
我相信我init
在 Dropzone 脚本中很接近,但由于某种原因,其他字段的值都没有与实际文件上传一起提交。
当涉及到这一点时,我对任何事情都持开放态度。