将变量传递给 jquery 上传函数

Passing variable to jquery upload function

本文关键字:函数 jquery 变量      更新时间:2023-09-26

我是网络编程的新手,我正在尝试创建一个可以上传文件的页面。我目前在我的页面上有一个上传按钮,可以正常工作,但是,我想要两个按钮,但使用相同的功能。

我正在尝试将一个变量(代码中的示例为 comesfrom= 标签或 logouploaddiv)传递给函数,该函数将让我看到它来自不同的按钮,因此我可以通过下面的 jQuery 中的 dataType 字段将其传递给 PHP 脚本,因此我可以以不同的方式处理来自每个按钮的文件。

我目前已经尝试过使用 $(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');
 });

如果我理解正确,你需要一个处理程序来处理两个输入:文件标签。尝试使用此 jquery 选择器:

$("input:file").fileupload({your handler here});