[英]JQuery Fileupload with form data and only single file
我正在尝试让JQuery fileupload在我们的网站上运行。 现在,我们需要在文件上传的同时提交数据,并且只允许上传一个文件。 最后,我不知道怎么做是从jquery fileupload中清除先前添加的文件,并确保只有1个文件和1个请求被发送到服务器。 缩小表格的版本。
<form enctype="multipart/form-data" id="TestCreateForm" method="post">
<label for="Form_staffMember">Staff Member</label>
<input id="Form_staffMember" name="Form.staffMember" type="text" />
<input id="FileUpload" name="FileUpload" type="file" value="" />
<!-- The container for the uploaded files -->
<div id="files" class="files"></div>
<!-- The global progress bar -->
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success"></div>
</div>
<div class="form-group">
<div>
<button class="btn btn-default">Upload</button>
</div>
</div></form>
当前的Javascript
<script>
$(function () {
var sendData = true;
$('#FileUpload').fileupload({
dataType: 'json',
autoUpload: false,
add: function (e, data) {
console.log('add');
var clearOldData = true;
$('#TestCreateForm button').on('click', function () {
//alert('TestCreateForm button click');
//data.abort();
if (sendData) {
var serialArray = $('#TestCreateForm').serializeArray();
data.formData = serialArray; //$('#TestCreateForm').serializeArray();
sendData = false;
}
data.submit();
clearOldData = false;
});
if (clearOldData) {
$("#files").empty();
}
$.each(data.files, function (index, file) {
var filename = file.name;
$('<p/>').text(filename).appendTo('#files');
});
},
done: function (e, data) {
sendData = true;
console.log('done');
/*$.each(data.files, function (index, file) {
$('<p/>').text(file.name).appendTo('#files');
});*/
},
progressall: function (e, data) {
console.log('Progressall');
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.