我是网络编程新手,我正在尝试创建一个可以上传文件的页面。我目前在我的页面上有一个上传按钮,工作正常,但是,我想要两个按钮,但使用相同的功能。
我试图将一个变量(代码中的示例,如fromfrom = tag或logouploaddiv)传递给函数,让我看到它来自另一个按钮,所以我可以通过它传递给PHP脚本因此,我在jQuery中的dataType字段可以不同地处理来自每个按钮的文件。
我目前尝试使用$(this).attr(“id”),但这显然不正确,无论如何都无法正常工作。有没有办法可以传递自定义标签在函数中使用和读取,这样我就可以看到哪个按钮用于在PHP端上传每个文件,或者我只需要复制$('#fileupload')。 fileupload代码与我的其他按钮具有不同的ID?谢谢你的阅读!
<div id="logouploaddiv"><input class="btn btn-default" id="fileupload" type="file" name="files[]" comesfrom="logo_upload"></div>
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success"></div>
</div>
<script>
$(function () {
'use strict';
var url = window.location.hostname === '' ?
'' : 'server/php';
$('#fileupload').fileupload({
url: url,
formData: {type: $(this).attr("id")},
dataType: 'json',
done: function (e, data) {
location.reload();
},
progressall: function (e, data) {
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');
});
答案 0 :(得分:1)
如果我理解正确,你需要一个处理器来输入两个文件:文件标签。 尝试使用此jquery选择器:
$("input:file").fileupload({your handler here});