我是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
时,它会为我提供我期望的价值。
如何分配插件的myUrl
到url
属性?我哪里错了?
修改
对不起。将问题包含在我的问题中,我出了问题。我现在修复了我的代码块。实际上一切都包含在$(function () { });
内,但仍然没有解决我的问题。
答案 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
});
});