2016-02-28 27 views
0

我正在嘗試爲三種成分配方創建一個單位轉換計算器,但無法通過點擊「獲取配料」按鈕來運算計算結果。 Firebug將getElementById行作爲null返回? JS:HTML的Firebug正在返回:document.getElementById(...)爲空 - 我做錯了什麼?

$(function(){ 
    $('#tabs').tabs(); 
}); 

window.onload = init; 

function init(){ 

document.getElementById("calc").onclick=function(){ 

    var pbc=Number(document.getElementById("pbc").value); 

    var dc=Number(document.getElementById("dc").value)* .0333333333;  
    var pb=Number(document.getElementById("pb").value)* .0166666667;  
    var sea=Number(document.getElementById("sea").value)* .0020833333; 
    var dcTotal= ("dc" * "pbc"); 
    var pbTotal= ("pb" * "pbc"); 
    var seaTotal= ("sea" * "pbc"); 
    document.getElementById("resultdc").innerHTML=dcTotal.toFixed(1); 
    document.getElementById("resultpb").innerHTML=pbTotal.toFixed(1); 
    document.getElementById("resultsea").innerHTML=seaTotal.toFixed(1); 
    } 
} 

部分:

<form action="javascript:void(0)"> 
    <label for="pbc">How many Dark Chocolate Peanut Butter Cups would you like `to make?</label>` 
    <input type="text" name="pbc" id="pbc"> 
    <br><br> 
    <input type="button"id="calc" value="Get Ingredients"> 
    </form> 

    <p id="resultdc"> Cup(s) of Dark Chocolate Chips</p> 

    <p id="resultpb"> Cup(s) of Peanut Butter</p> 

    <p id="resultsea"> Teaspoon(s) of Sea Salt</p> 
+0

的HTML似乎缺少了不少在JavaScript中引用的元素,比如'#dc','#pb','#sea'等 – adeneo

回答

0

之間的空間通過把周圍的變量報價,你AR econverting它們轉換爲字符串,因此不能夠用於計算:

例如

var dcTotal= ("dc" * "pbc"); 
var pbTotal= ("pb" * "pbc"); 
var seaTotal= ("sea" * "pbc"); 

應該

var dcTotal= (dc * pbc); 
var pbTotal= (pb * pbc); 
var seaTotal= (sea * pbc); 

也注意到以下行

document.getElementById("resultdc").innerHTML=dcTotal.toFixed(1); 

將取代( 「resultdc」)DIV的所有內容,與值(dcTotal.toFixed( 1))

你應該改變你的html到類似..

<p><span id="resultdc"></span> Cup(s) of Dark Chocolate Chips</p> 

將所需的數字填寫到跨度中,而不是替換文本內容。

+0

謝謝,解決這個問題。 Firebug仍然報錯: var dc = Number(document.getElementById(「dc」)。value)* .0333333333; as null。 –

+0

like @adeneo said - 似乎沒有與您的HTML – gavgrif

+0

中列出的「dc」,「pb」或「海」id的輸入我明白你的意思......是程序尋找這些變量作爲單獨的用戶輸入,如我要求的花生醬杯的數量是多少? - 如果是這樣,我需要的程序是從用戶那裏獲得pbc輸入,並使用該信息來計算配方要求的巧克力,花生醬和鹽的量...並在返回該信息時按下'獲取成分'(或'calc')按鈕 –

0

需要"button"id

<input type="button" id="calc" value="Get Ingredients"> 
+0

謝謝你發現,固定的...但'null'值仍然被返回。 :( –