2

我在一个有多个 drop_elements 以及浏览按钮的页面上使用 Plupload。我的问题是,默认情况下,您可以使用 plupload 为 drop_element 和 browse_button 定义一个元素,从我阅读并尝试过的内容来看,它只接受 1 个恰好是该元素 ID 的元素。

我需要以某种方式扩展它,以便我可以定义一个 id 数组或将其更改为一个类而不是一个 id。

var uploader = new plupload.Uploader({
        runtimes : 'gears,html5,flash,silverlight,browserplus',
        browse_button : **['ele_id1', 'ele_id2']**,
        drop_element : **['dropzone_id1', 'dropzone_id2']**,
        max_file_size : '200mb',
        url: '//senditfrom.me/fileupload/upload/do_upload',
        flash_swf_url: '//senditfrom.me/fileupload/js/plupload.flash.swf',
        silverlight_xap_url: '//senditfrom.me/fileupload/js/plupload.silverlight.xap',

        resize : {width : 320, height : 240, quality : 90}
    });

这可能吗?有没有人找到一种方法来定义一个元素?

4

3 回答 3

4

我知道这是一个老问题,但我遇到了有 2 个浏览按钮的问题,并找到了解决它的方法,我想在这里分享。

HTML:

<form id="uploader">
    <input type="button" class="pickfiles" id="0" value="Select 1"/>
    <input type="button" class="pickfiles" id="1" value="Select 2"/>
</form>

JS:

var uploader = new plupload.Uploader(
    {
        browse_button : '0',
        container : 'uploader',
    });

$('.pickfiles').mouseenter(function()
{
    uploader.settings.browse_button = $(this).attr('id'); //Assign the ID of the pickfiles button to pluploads browse_button
    uploader.refresh();
});

有关详细信息,请参阅下面的 jsfiddle。

http://jsfiddle.net/wLMNB/

于 2013-03-11T21:51:34.490 回答
3

我不确定自从 David Healey 发布他的答案后插件是否发生了变化,但我发现他的答案只需稍作修改即可。

他的部分:

$('.pickfiles').mouseenter(function()
{
    uploader.settings.browse_button = $(this).attr('id'); //Assign the ID of the pickfiles button to pluploads browse_button
    uploader.refresh();
});

应改为:

$('.pickfiles').mouseenter(function () {
            uploader.setOption("browse_button", $(this).attr('id')); //Assign the ID of the pickfiles button to pluploads browse_button
        });

并且它的工作原理!

于 2015-03-03T12:11:09.217 回答
2

你可能不得不破解插件。在插件中,他们使用了 getElementById(browse_button) 您可以尝试将其更改为使用类。我还没有尝试过,但它可能会起作用。

于 2011-12-13T17:09:04.403 回答