2016-06-01 27 views
0

我在googlesheets code.gs中有一個函數;該函數將值賦給一個變量。在Google工具欄邊欄中顯示div中的變量

function assignVariable() 
{ 
var name = "My Name" 
} 

,我有id爲 「VAR」 的跨度在sidebar.html

<span id="var"></span> 

我想使用id = 「變種」 的跨度來顯示變量 「名」。我嘗試了getElementById並用innerHtml替換,它對我來說不起作用(下面的代碼)。

<span id="var" style="vertical-align: middle"> 
<script> 
document.getElementById("var").innerHTML = name; 
</script> 
</span> 

任何幫助?

回答

0

它不起作用。

原因?

因爲變量namefunction的本地。它不適用於外部世界。

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> 

Working Demo

+0

我複製並粘貼您的代碼;它不工作。它給了我一個空白的跨度。 – Neo

+0

您的代碼很好,但它沒有從函數assignVariable();中取值。相反,我得到一個空白的跨度。任何類型的工作代碼將任何來自code.gs的數據導入到sidebar HTML中對我來說都是有效的。我可以調整並修改代碼以滿足我的需求。 – Neo

+0

我已經用工作DEMO更新了我的答案。檢查CSS和其他鄰居代碼。這一定是別的事情。 – Rohit416

0
<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> 

你應該試試這個,如果你的價值是硬編碼.....

+0

這就是我想讓OP避免的。 – Rohit416

+0

我想要一個變量顯示在邊欄中。該變量必須由code.gs文件中的函數分配。任何類型的工作代碼都會爲我做。我可以調整它並將其用於我的需要。目前,在getElementById方法中調用函數不會返回值。 – Neo