javascript - 如何从fineuploader处理程序获取属性?

标签 javascript fine-uploader

我有以下代码

<div class="cv-uploader" id="customid">Upload CV</div>

$('.cv-uploader').fineUploader({

        debug: true,
        request: {
            endpoint: '/process',
            params:{ elementId:$(this).attr('id') }
        },
        //some other code
});

我需要在请求参数中发送触发fineuploader的元素的ID。我尝试了 $(this).attr('id') 但它不起作用。

请帮忙

谢谢 塞尔吉乌

最佳答案

这更像是一个一般性的 JavaScript 问题,而不是一个 Fine Uploader 问题。问题在于您误解了上下文在 JavaScript 中的工作原理。在您的代码中,this 将始终引用 window 对象。显然,这不是您想要的。

您可以执行以下操作:

$('.cv-uploader').fineUploader({

        debug: true,
        request: {
            endpoint: '/process',
            params:{ elementId:$('.cv-uploader').attr('id') }
        },
        //some other code
});

...或者这个:

$('.cv-uploader').fineUploader({

        debug: true,
        request: {
            endpoint: '/process'
        },
        //some other code
})
    .on("submitted", function(event, id) {
        $(this).fineUploader('setParams', {elementId: $(this).attr('id')}, id);
    });

后一个示例是可能的,因为 Fine Uploader 的 jQuery 插件包装器将您绑定(bind)到 Fine Uploader 实例的任何 jQuery 事件处理程序的上下文设置为表示该元素的 jQuery 对象。

但是,我会推荐第一种方法,因为它更有效。

关于javascript - 如何从fineuploader处理程序获取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23031199/

相关文章:

javascript - HTML Javascript 数组列表

javascript - 如何获取上传文件的URL?

javascript - react 良好的 uploader 不绑定(bind)到表单

javascript - 向上滑动侧边栏,滚动

javascript - 如何在 webRTC 多对多系统上处理 socket.io 多个连接?

php - Fine Uploader 到 S3 桶得到 405 Method Not Allowed 错误

authentication - 如何使用 Firebase 的电子邮件和密码身份验证方法与 AWS 连接以使 Fine Uploader S3 工作?

javascript - FineUploader 在 Android 设备上上传到 Azure 档位

javascript - 尝试从 node.js 执行 POST 请求时出现 400 Request TimeOut 错误

javascript - 为什么新的正则表达式不能正常工作