2013-02-08 7 views
6

Google Sites'a basit bir javascript eklemeye çalışıyorum ancak düğmeye basarken hiçbir şey elde edemiyorum. Kodu bir HTML Kutusunun içine koydum. Kod yerel olarak test edildiğinde mükemmel çalışır. İşte benim kodum:google sitelerine javascript dahil

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

Çalışmayı unuttuğum bir şey var mı?

+0

Bize canlı sitenin linkini verebilir misiniz? –

+0

Üzgünüm, yapamam. Bu özel bir site ve sahibi acces vermek istemiyor. – VidalDuval

cevap

5

Google Sites, tüm komut dosyanızı değiştirir. JavaScript yazarken biraz daha dikkatli olmalısınız.

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

Bu ;-)

+0

Var bit hakkında (ve açıklama için @ ben336) teşekkürler. Sorunu çözmeyen talihsizlikler, o düğmeye basarken hala hiçbir şey elde etmem. – VidalDuval

+0

Kodu bir HTML kutusuna eklediniz mi? (Ekle -> HTML kutusu) –

+0

Gerçekten yaptım. Garip ... – VidalDuval

1

Google Sites güvensiz gördüğü işlemleri filtreler çalışacaktır: Her değişkenin önünde

ekleme var sorununuzu çözecektir. Bazı ayrıntılar here, ancak hızlı arama ile resmi belgeleri bulamadı.

Başka bir yanıt olarak, değişkenlerinizin var bildirimlerine gereksinimi vardır. Bu gereklidir, çünkü bu olmadan, değişkenler pencereye küresel hale gelecektir ve potansiyel olarak Google'ın, javascript desteğini çevreleyen ve muhtemelen güvenlik sorunlarına yol açan sandbox'lardan kaçmak için kullanılabilir.

Yani düzeltmek için:

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