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 - 如何在 javascript 中获取 svg 嵌入代码?

javascript - 更新样式表中的 CSS 规则

php - Fine Uploader 无法上传文件

javascript - 如何将fineuploaders uuid 保存在数据库中?

javascript - 使用 Express js 在其帐户创建或注册表中上传用户图像

javascript - JavaScript 中的 BB 代码正则表达式

javascript - 在javascript中从数组的所有子数组中删除特定元素的最快方法是什么

javascript - 使用 finuploader 上传数据 url

jquery - 精细 uploader : add upload buttons in template markup

reactjs - FineUploader 中的多重验证