2014-03-01 80 views
0

我爲我的學生開發了一個交互式數學頁面。這個小小的程序在我的電腦上工作正常,但在上傳到教師網頁時不能在線工作。 你能幫我找到背後的原因嗎? 謝謝Javascript代碼可以在PC上運行,但不能在教師網站上傳

<script> 
    function Triarea() { 
    var base, height, area; 
    base = document.getElementById('base').value; 
    height = document.getElementById('height').value; 
    area = document.getElementById('area').value; 
    if (area === 1/2 * base * height) { 
     document.getElementById('results').innerHTML = area + " <h2>CORRECT</h2>"; 
    } else { 
     document.getElementById('results').innerHTML = area + " <h2> WRONG try again </h2>"; 
    } 
} 
</script> 

<h2>Base:</h2> <input type="text" size="25" style="font-size:20pt" id="base" value=""></br> 
<h2>Height:</h2> <input type="text" size="25" style="font-size:20pt" id="height" value=""> 
<br/> 
<span id="results"><h2>Enter your answer in the Area box below then click on calculate</h2></span> 
</br> 
<h1>Area:</h1> <input type="text" size="25" style="font-size:20pt" id="area"> </br> 
<input type="button" size="100" style="background-color: red; color:yellow;height:80px;width:140px;font-size:30px; " value="Calculate" onClick="Triarea()"><br> 
+0

你的問題incoreectly格式化。我建議將它放入jsbin中。 http://jsbin.com/ 另外,作爲一名學生,每當我嘗試將HTML放入學校服務器時,大部分都被剝離了。也可能是這種情況 - 服務器剝離並清理HTML/JS – Doge

+1

您是否使用螢火蟲查看您的託管網頁,並查看您是否收到任何javascript錯誤? – gview

+0

它在js小提琴中工作:http://jsfiddle.net/fKSp8/ – Maess

回答

0

我沒有改變任何邏輯,只是腳本在頭部的位置。可能你把腳本放在了錯誤的位置?

你可以嘗試使用以下:

從的jsfiddle:jsFiddle Link

<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <title> - jsFiddle demo</title> 

    <script type='text/javascript' src='/js/lib/dummy.js'></script> 



    <link rel="stylesheet" type="text/css" href="/css/result-light.css"> 

    <style type='text/css'> 

    </style> 



<script type='text/javascript'>//<![CDATA[ 

Triarea = function() { 
    var base, height, area; 
    base = document.getElementById('base').value; 
    height = document.getElementById('height').value; 
    area = document.getElementById('area').value; 
    if (area === 1/2 * base * height) { 
     document.getElementById('results').innerHTML = area + " <h2>CORRECT</h2>"; 
    } else { 
     document.getElementById('results').innerHTML = area + " <h2> WRONG try again </h2>"; 
    } 
} 
//]]> 

</script> 


</head> 
<body> 
    <h2>Base:</h2> <input type="text" size="25" style="font-size:20pt" id="base" value=""></br> 
<h2>Height:</h2> <input type="text" size="25" style="font-size:20pt" id="height" value=""> 
<br/> 
<span id="results"><h2>Enter your answer in the Area box below then click on calculate</h2></span> 
</br> 
<h1>Area:</h1> <input type="text" size="25" style="font-size:20pt" id="area"> </br> 
<input type="button" size="100" style="background-color: red; color:yellow;height:80px;width:140px;font-size:30px; " value="Calculate" onClick="Triarea()"><br> 

</body> 


</html> 
+0

感謝您花時間修復我的代碼。它確實很好地工作。再次感謝。那真的很適合你。 – user3308574

+0

當然.. np!如果這回答你的問題,你可以標記爲答案?謝謝。 – Siva

0

您使用===全等運算符而是讓JavaScript的做它想要與它的類型推斷。

使用parseFloat(或parseInt如果您更喜歡整數)將您的值解析爲浮點數,讓它知道您正在處理的內容。你更有可能得到你期待的結果。請注意,您可能還必須更改相等檢查以包含epsilon檢查。

base = parseFloat(document.getElementById('base').value); 
height = parseFloat(document.getElementById('height').value); 
area = parseFloat(document.getElementById('area').value); 

更新了以前發佈的小提琴:http://jsfiddle.net/fKSp8/1/

+0

謝謝你的幫助。我會聽取您的建議並使用它,因爲我可以獲得更多的編碼知識。再次感謝 – user3308574

相關問題