2013-02-08 82 views
6

我正在嘗試在Google協作平臺中包含一個簡單的JavaScript,但按下按鈕時我什麼也得不到。我把代碼放在一個HTML Box中。在本地測試時,代碼完美工作。這裏是我的代碼:將javascript加入谷歌網站

<script> 
    function calcul(){ 
    x = parseFloat(document.getElementById("value1").value); 
    y = parseFloat(document.getElementById("value2").value); 
    document.getElementById("answer").innerHTML=x+y; 
    } 
</script> 

<form action="" id="nothing"> 
    <input type="text" id="value1"> 
    <input type="text" id="value2"> 
<input type="button" value="Calculate" id="but" onclick="calcul()" /> 

<p id="answer"></p> 

有沒有什麼我忘了讓它工作?

+0

您能否給我們一個鏈接到直播現場? – 2013-02-08 20:34:00

+0

對不起,我不能。這是一個私人網站,業主不想放棄。 – VidalDuval 2013-02-08 21:04:59

回答

5

Google協作平臺會更改您的整個腳本。您必須更加小心地編寫JavaScript。

添加var在每個變量前面將解決您的問題:

<script> 
    function calcul(){ 
    var x = parseFloat(document.getElementById("value1").value); 
    var y = parseFloat(document.getElementById("value2").value); 
    document.getElementById("answer").innerHTML=x+y; 
    } 
</script> 

<form action="" id="nothing"> 
    <input type="text" id="value1"> 
    <input type="text" id="value2"> 
    <input type="button" value="Calculate" id="but" onclick="calcul()" /> 
</form> 

<p id="answer"></p> 

這將工作;-)

+0

謝謝關於var位(和@ ben336的解釋)。不幸的是,這並沒有解決問題,點擊那個按鈕時,我仍然沒有得到任何東西。 – VidalDuval 2013-02-08 21:07:18

+0

您是否已將代碼插入HTML框? (插入 - > HTML框) – 2013-02-08 21:11:23

+0

確實,我做到了。奇怪... – VidalDuval 2013-02-08 21:19:04

1

谷歌網站將篩選出它認爲不安全的操作。一些細節here,但無法通過快速搜索找到官方文檔。

另一個答案提到,你的變量需要var聲明。這是必需的,因爲如果沒有這些,變量將變爲窗口的全局變量,並且有可能被用於逃避谷歌在網站javascript支持周圍放置的任何沙箱,這可能會導致安全問題。

所以修復:

var x = parseFloat(document.getElementById("value1").value); 
var y = parseFloat(document.getElementById("value2").value);