2013-02-08 9 views
6

Ich versuche, ein einfaches Javascript zu Google Sites aufzunehmen, aber ich bekomme nichts, wenn Sie die Taste drücken. Ich habe den Code in eine HTML-Box eingefügt. Der Code funktioniert perfekt, wenn er lokal getestet wird. Hier ist mein Code:Einschließlich Javascript zu Google Sites

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

Gibt es etwas, das ich vergessen habe, damit es funktioniert?

+0

Können Sie uns einen Link zu der Live-Site? –

+0

Sorry, ich kann nicht. Es ist eine private Seite und der Besitzer möchte keinen Zugang geben. – VidalDuval

Antwort

5

Google Sites ändert Ihr gesamtes Skript. Sie müssen etwas vorsichtiger sein, wenn Sie JavaScript schreiben.

Hinzufügen var vor jeder Variablen wird Ihr Problem beheben:

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

Diese Arbeit wird ;-)

+0

Danke über das var-Bit (und @ @ @ @ @ 3336 für die Erklärung). Leider hat das das Problem nicht gelöst, ich bekomme immer noch nichts, wenn ich auf diesen Knopf klicke. – VidalDuval

+0

Haben Sie den Code in eine HTML-Box eingefügt? (Einfügen -> HTML-Box) –

+0

In der Tat habe ich. Seltsam ... – VidalDuval

1

Google Sites werden Operationen es unsicher betrachtet herauszufiltern. Einige Details here, aber konnte keine offizielle Dokumentation mit Schnellsuche finden. Wie in einer anderen Antwort erwähnt, benötigen Ihre Variablen var Deklarationen. Dies ist erforderlich, da andernfalls die Variablen für das Fenster global werden und möglicherweise dazu verwendet werden könnten, aus der Sandbox zu entkommen, die Google um die JavaScript-Unterstützung der Websites herumlegt, was möglicherweise Sicherheitsbedenken verursacht.

So zu beheben:

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