将变量值赋给插件的属性

时间:2014-04-02 13:40:01

标签: javascript jquery json plupload

我是Js Newbie。

我尝试使用以下方式设置Plupload属性。

$(function () {
    var myUrl = "https://" + $('input#hfBucketName').val() + $('input#hfEndPoint').val();
    $("#uploaderdiv").plupload({
        runtimes: 'html5,flash,silverlight',
        url: myUrl,
        //Removed for simplicity
    });
});

尝试上传文件时出现Upload URL might be wrong or doesn't exist.错误。

我假设我没有使用计算变量分配插件的url属性。

在Chrome控制台上,当我在页面完成加载后输入myUrl时,我得到ReferenceError: myUrl is not defined

但是,当我输入(在控制台上)var myUrl = "https://" + $('input#hfBucketName').val() + $('input#hfEndPoint').val();然后myUrl时,它会为我提供我期望的价值。

如何分配插件的myUrlurl属性?我哪里错了?

修改

对不起。将问题包含在我的问题中,我出了问题。我现在修复了我的代码块。实际上一切都包含在$(function () { });内,但仍然没有解决我的问题。

2 个答案:

答案 0 :(得分:0)

将myUrl移到里面:

$(function () {
var myUrl = "https://" + $('input#hfBucketName').val() + $('input#hfEndPoint').val();
    $("#uploaderdiv").plupload({
        runtimes: 'html5,flash,silverlight',
        url: myUrl,
        //Removed for simplicity
    });
});
文档准备好时会触发

$(function() { });

答案 1 :(得分:0)

您正在尝试访问可能尚未加载的元素的值。 $(function() {});是document.ready事件的jQuery简写。将myUrl变量声明移动到文档就绪函数中可以解决您的问题:

$(function () {
    var myUrl = "https://" + $('input#hfBucketName').val() + $('input#hfEndPoint').val();

    $("#uploaderdiv").plupload({
        runtimes: 'html5,flash,silverlight',
        url: myUrl,
        //Removed for simplicity
    });
});