2013-04-12 135 views
-3

我搜索了互聯網,圖書館和其他一些無法提供答案的人。這裏是我的js文件計算器不支持javascript

// JavaScript Document 
function calculate() 
{ 
var form = document.getElementById("calc"); 

var text1 = document.getElementById("calculator9").value-0; 
var text2 = document.getElementById("calculator13").value-0; 
var x = parseFloat(text1.value); 
var y = parseFloat(text2.value); 
var out = document.getElementById("calculator21").value = "$" + ((x * y) * 0.0016) - ((x * y) * 0.00085); 
} 

,這裏是我的計算器頁面形式

<form id="calc" name="calc" method="post" action=""> 
<div id="calculator8"> </div> 
<div id="calculator9"><input type="text" name="x" class="box1" /> </div> 
<div id="calculator10"> </div> 
<div id="calculator11"> </div> 
<div id="calculator12"> </div> 
<div id="calculator13"><input type="text" name="y" class="box2" /> </div> 
<div id="calculator14"> </div> 
<div id="calculator15"> </div> 
<div id="calculator16"> </div> 
<div id="calculator17"><input type="submit" name="submit" class="button" value="" onclick="calculate()" /></div> 
<div id="calculator18"> </div> 
<div id="calculator19"> </div> 
<div id="calculator20"> </div> 
<div id="calculator21"><input type="text" name="text3" class="box3" readonly="readonly" value="" /> </div> 
<div id="calculator22"> </div> 
</form> 

任何人都可以在這裏幫我....這是真的快把我逼瘋了!

+1

什麼不行?你的錯誤是什麼? – musefan

+0

你確實希望表單提交嗎?不要使用'type =「submit」'按鈕...使用'type =「按鈕」'按鈕 – Ian

回答

0

您不會取消提交按鈕的點擊操作,因此表單正在提交。

<form id="calc" name="calc" method="post" action="" onsubmit="return false"> 

其他問題

var text1 = document.getElementById("calculator9").value-0; <What is with the -0 
var text2 = document.getElementById("calculator13").value-0; <9 and 13 table cells, not inputs, they have no value! 
var x = parseFloat(text1.value); <-- text1 should be a string, not a dom object 
var y = parseFloat(text2.value); 

它應該看起來像

var text1 = document.getElementById("textbox1_id").value; 
var text2 = document.getElementById("textbox2_id").value; 
var x = parseFloat(text1); 
var y = parseFloat(text2); 
.../ 
var out = document.getElementById("textbox3_id").value 

和HTML

<input type="text" name="x" class="box1" id="textbox1_id"/> 
<input type="text" name="y" class="box2" id="textbox2_id"/> 
<input type="text" name="text3" class="box3" readonly="readonly" value="" id="textbox3_id"/> 
+0

計算器頁面會加載並保留兩個文本框中的數字,但不會在第三個文本框中顯示答案。我已經做了代碼更改以反映@epascarello編寫的內容,但它仍然執行相同的操作....文本在兩個文本框中,但在第三個文本框中沒有答案。 –

+0

你看到了控制檯的錯誤?你有幾個問題。 Editede我的答案添加更多。 – epascarello

+0

嗯,這次頁面實際上停留在網頁上,但仍然沒有在第三個文本中顯示答案,並且按鈕似乎不是「可點擊」的......我真的在這個黑暗中...... @ epascarello ...你做了什麼給了我至少停留的頁面,但按鈕不點擊並啓動功能...有任何其他想法....該網站是[鏈接](http://greeenhome.webatu .com),你可以親眼看到。 –

1

你給錯誤的ID在你的腳本輸入字段

var text1 = document.getElementById("calculator9").value; 

calculator9是div而不是輸入。那麼試試這個

<div id="calculator13"><input type="text" id="txt9" name="y" class="box2" /> </div> 

,並使用它像這樣

var text1 = document.getElementById("txt9").value; 

還有其他的問題,以及在你的腳本一樣

var x = parseFloat(text1.value); 

這裏text1.value是不確定的,只能使用text1

你可以在這裏得到工作示例

JS Fiddle Demo

+0

非常感謝你......那就是訣竅!我相對較新的JavaScript,語法有點棘手。再次感謝您的幫助! –

+0

太好了。所以如果這個解決方案對你有幫助,你可以接受它作爲回答:) – Sachin