我使用dropzone.js与Laravel。
我提交的文件有两个不同的按钮(见下图)。
当点击合并和上传为一个文件,我想这个按钮值发送到控制器。
当保存每个文件分别被点击我想给这个按钮值控制器。
我拿一个全局变量是input
,它工作正常,但问题是,当我打了一个按钮,它发送旧值,而不是当前值。
谢谢你的帮助。
这里是我的表格:
<form action="{{route('mediamanager.store')}}" class="dropzone dropzone-nk needsclick" id="my-awesome-dropzone" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<div>
<i class="notika-icon notika-cloud"></i>
<div class="fallback">
<input name="file" type="file" multiple />
</div>
<h2>Drop files here or click to upload.</h2>
</div>
</div>
<br>
<div class="text-center">
<input type="button" class="btn-success submit-merge" id="merge_file" value="Merge and Upload as one file" style="padding:0.8em">
<input type="button" class="btn-success submit-separate" id="separate_file" value="Save each file separatly">
</div>
</form>
下面是悬浮窗的脚本:
<script>
Dropzone.options.myAwesomeDropzone = { // The camelized version of the ID of the form element
// The configuration we've talked about above
autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 25,
maxFiles: 25,
acceptedFiles:'.pdf',
// The setting up of the dropzone
init: function() {
var myDropzone = this;
var input = 'Null';
$(".submit-merge").click(function (e)
{
alert('
<input >
');
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
input = 'merge_file';
console.log(input);
});
$(".submit-separate").click(function (e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
input = 'separate_file';
console.log(input);
});
// });
// $(".submit-separate").click(function (e) {
this.on("sendingmultiple", function(file, xhr, formData) {
//Add additional data to the upload
formData.append(input, $('#'+input).val());
});
this.on("success", function(file, responseText) {
// location.reload();
console.log('dfd');
});
}
}
</script>
你正在改变processQueue()
后的输入值。
代替
$(".submit-merge").click(function (e) {
alert('
<input >
');
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
input = 'merge_file';
console.log(input);
});
$(".submit-separate").click(function (e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
input = 'separate_file';
console.log(input);
});
尝试:
$(".submit-merge").click(function (e) {
alert('
<input >
');
e.preventDefault();
e.stopPropagation();
input = 'merge_file';
console.log(input);
myDropzone.processQueue();
});
$(".submit-separate").click(function (e) {
e.preventDefault();
e.stopPropagation();
input = 'separate_file';
console.log(input);
myDropzone.processQueue();
});