Javascript 在google工作表边栏的div中显示变量
我在googlesheets code.gs中有一个函数;该函数为变量赋值Javascript 在google工作表边栏的div中显示变量,javascript,sidebar,google-sheets-api,Javascript,Sidebar,Google Sheets Api,我在googlesheets code.gs中有一个函数;该函数为变量赋值 function assignVariable() { var name = "My Name" } 我在sidebar.html中有一个id=“var”的span <span id="var"></span> 我想用id=“var”在span中显示变量“name”。我尝试使用getElementById并替换为innerHtml,但它对我不起作用(下面的代码) document.get
function assignVariable()
{
var name = "My Name"
}
我在sidebar.html中有一个id=“var”的span
<span id="var"></span>
我想用id=“var”在span中显示变量“name”。我尝试使用getElementById并替换为innerHtml,但它对我不起作用(下面的代码)
document.getElementById(“var”).innerHTML=name;
有什么帮助吗?它不起作用
原因?
因为变量name
是函数的本地变量。外部世界无法使用它
function assignVariable()
{
// local scope..
var name = "My Name";
}
name; // undefined... :(
我不建议您创建一个全局变量,但我不知道您为什么要这样打印它。因此,根据注释,您需要从函数返回结果或修改其范围
有很多方法可以实现这一点。其中之一是,
function assignVariable()
{
var name = "My Name";
return name;
}
HTML
<span id="var" style="vertical-align: middle"></span>
<script>
document.getElementById("var").innerHTML = assignVariable();
</script>
document.getElementById(“var”).innerHTML=assignVariable();
var name=“我的名字”
document.getElementById(“var”).innerHTML=name;
或
函数myFunction(名称){
var name=“我的名字”
返回名称;
}
document.getElementById(“var”).innerHTML=myFunction(名称);
如果您的值是硬编码的,您应该尝试此操作。…我复制并粘贴了您的代码;它不起作用。它给了我一个空白范围。您的代码很好,但它没有从函数assignVariable()中获取值;。相反,我得到了一个空白区间。任何将code.gs中的任何数据拉入侧栏HTML的工作代码都适合我。我可以调整和修改代码以满足我的需要。我已经用工作演示更新了我的答案。检查css和其他邻近代码。一定是发生了别的事情。另外,请注意,我在span
下面包含了脚本。这是因为在其他情况下,脚本无法操作span。这就是DocumentReady方便的地方。建议:将脚本放在HTML正文内容之后。好的,这对您的工作演示很有效;所以这应该在谷歌的工作表和侧边栏上也起作用,但是没有。这就是问题所在。我想在google工作表的侧栏上显示该值。我将JS代码放在code.gs上,然后将HTML放在侧栏HTML代码上,它不从函数中获取值。对不起。如果你能在谷歌工作表上做同样的事情并尝试一下,也许你会明白我做错了什么。我想在侧边栏中显示一个变量。变量必须由code.gs文件中的函数指定。任何类型的工作代码都适合我。我可以调整它,并使用它为我的需要。当前,在getElementById方法中调用函数不会返回该值。
<span id="var" style="vertical-align: middle"></span>
<script>
document.getElementById("var").innerHTML = assignVariable();
</script>
<body>
<span id="var"></span>
<script>
var name = "My Name"
document.getElementById("var").innerHTML = name;
</script>
</body>
<script>
function myFunction(name) {
var name = "my name"
return name;
}
document.getElementById("var").innerHTML = myFunction(name);
</script>