我是JS的初学者,我决定使用这个库: https://blueimp.github.io/jQuery-File-Upload/
我的问题如下:
我必须发送(在FormData中,因此另外的形式)2个复选框的值。 关注的是,当页面加载并且客户端更改其值时,复选框为false,并且在我的代码中,formdata获取两个复选框的值,但在更改期间不更新它们(选中/取消选中)。
$(function() {
"use strict";
var e = $("<button/>").addClass("intimity-button-dark").prop("disabled", !0).text("Processing...").on("click", function() {
var param1 = $('#guest').is("checked");
console.log(param1);
var e = $(this),a = e.data();
e.off("click").text("Abort").on("click", function() {
e.remove(), a.abort()
}), a.submit().always(function() {
e.remove()
})
});
$("#fileupload").fileupload({
url: "/server/php/",
dataType: "json",
autoUpload: !1,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png|mov|mp4|avi)$/i,
maxFileSize: 5e6,
disableImageResize: /Android(?!.*Chrome)|Opera/.test(window.navigator.userAgent),
previewMaxWidth: 200,
previewMaxHeight: 300,
formData: {guest: $("#guest").prop('checked'), signed : $("#signed").prop('checked')},
previewCrop: !0
}).on("fileuploadadd", function(a, n) {
n.context = $("<div/>").addClass('col-xs-6 col-sm-4').appendTo("#files"), $.each(n.files, function(a, t) {
var r = $("<p/>").append($("<span/>").text(t.name));
a || r.append("<br>").append(e.clone(!0).data(n)), r.appendTo(n.context)
})
}).on("fileuploadprocessalways", function(e, a) {
var n = a.index,
t = a.files[n],
r = $(a.context.children()[n]);
t.preview && r.prepend("<br>").prepend(t.preview), t.error && r.append("<br>").append($('<span class="text-danger"/>').text(t.error)), n + 1 === a.files.length && a.context.find("button").text("Upload").prop("disabled", !!a.files.error)
}).on("fileuploadprogressall", function(e, a) {
var n = parseInt(a.loaded / a.total * 100, 10);
$("#progress .progress-bar").css("width", n + "%")
}).on("fileuploaddone", function(e, a) {
$.each(a.result.files, function(e, n) {
if (n.url) {
var t = $("<a>").attr("target", "_blank").prop("href", n.url);
$(a.context.children()[e]).wrap(t)
} else if (n.error) {
var r = $('<span class="text-danger"/>').text(n.error);
$(a.context.children()[e]).append("<br>").append(r)
}
})
}).on("fileuploadfail", function(e, a) {
$.each(a.files, function(e) {
var n = $('<span class="text-danger"/>').text("File upload failed.");
$(a.context.children()[e]).append("<br>").append(n)
})
}).prop("disabled", !$.support.fileInput).parent().addClass($.support.fileInput ? void 0 : "disabled")
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Add files...</span>
<input id="fileupload" style="display:none;" type="file" name="files[]" multiple>
<input type="checkbox" id="guest" name="guest" value="1">
<input type="checkbox" id="signed" name="signed" value="1">
&#13;
那么,我怎样才能制作&#34;格式&#34;检索当前值?
答案 0 :(得分:0)
要从复选框中获取值,您应该使用此选项
$('#checkbox').is(':checked')
答案 1 :(得分:0)
嗯,我赢了这个: var e = $(“”)。 addClass(“intimity-button-dark”)。 prop(“désactivé”,!0).text(“Traitement ...”)。 on(“clic”,fonction(){ $('#fileupload')。 bind('fileuploadsubmit',fonction(e,données){ data.formData = {invité:$('#invité')。是(“:checked”),signé:$('#signed')。是(“:checked”)}; console.log($('#invité')。is(“vérifié”)+“|”+ $('#signed')。is(“checked”)) }); var param1 = $('#invité')。 est(“vérifié”); console.log(param1); var e = $(this),a = e.data(); e.off(“点击”)。文字(“中止”)。 on(“clic”,function(){ e.remove(),a.abort() }),a.submit()。 always(function(){ e.remove() }) }); $(“#fileupload”)。上传文件 ({ url:“/ server / php /”, dataType:“json”, autoUpload:! 1, acceptFileTypes:/(。| /)(gif | jpe?g | png | mov | mp4 | avi)$ / i, maxFileSize:5e6, disableImageResize:/Android(?!.*Chrome)|Opera/.test(window.navigator.userAgent), previewMaxWidth:200, AperçuMaxHauteur:300, previewCrop:! 0 }) .bind('fileuploadsubmit'允许我重新配置文件上传量,当我点击“上传”按钮时,它通过直接发送复选框的当前值来修改配置。