2016-04-03 32 views
0

通過onclick我打電話給一個函數做一些計算,然後應該用函數內計算的信息隨時替換一些元素(h1)。Javascript/HTML錯誤找不到變量

我在頁面上的其他幾個地方做了相同的確切方式,除了這個似乎給我一個錯誤。

的ReferenceError:找不到變量:container2的

我相信它可能有一些做的元素的ID。

HTML:

<div id="macros"> 
    <h4>Macronutrients recommended:</h4> 

    <h2>Protein: <span id="myprotein"></span></h2> 
    <h2>Fats: <span id="myfat"></span></h2> 
    <h2>Carbs: <span id="mycarb"></span></h2> 
</div> 

的Javascript:

function calcmacros(bmr){ 

    var bmrweightvalue = document.getElementsByName('bmr_weight_pounds')[0].value; 
    var bmrweight = parseInt(bmrweightvalue, 10); 

    var macro_p = (bmrweight*1); 

    //window.alert("protein is: " + macro_p); 

    var macro_f = (bmrweight*.25); 

    //window.alert("Fats are: " + macro_f); 

    var macro_c = (bmr - (macro_p * 4 + macro_f * 9))/4; 

    //window.alert("carbs are: " + macro_c); 

    var contianer2 = document.getElementById("myprotein"); 
    container2.innerHTML = macro_p; 

    var contianer3 = document.getElementById("myfat"); 
    container3.innerHTML = macro_f; 

    var contianer4 = document.getElementById("mycarb"); 
    container4.innerHTML = macro_c; 


} 

控制檯:

ReferenceError: Can't find variable: container2 
calcmacrosrdnSimulator.html:435 
onclickrdnSimulator.html:101 

435線是

var contianer2 = document.getElementById("myprotein"); 

如上所述

+3

'contianer2!===== container2' –

+1

因爲您錯誤地將此變量輸入爲'contianer2'。 – Lewis

+0

而不是評論明顯的......投票結束。這裏我們不需要輸入錯字。 –

回答

3

您正在將容器變量定義爲contianer,但後來提到它們是容器。

將變量更改爲容器,然後它應該正常工作。

var container2 = document.getElementById("myprotein"); 
container2.innerHTML = macro_p; 

var container3 = document.getElementById("myfat"); 
container3.innerHTML = macro_f; 

var container4 = document.getElementById("mycarb"); 
container4.innerHTML = macro_c; 
+0

解決了語法錯誤。謝謝你們,我再次成爲一個白癡。 –

1

您正在調用一個存在的變量。檢查你的語法...

例如...

VAR續IA ner2 =的document.getElementById( 「myprotein」); cont ai ner2.innerHTML = macro_p;

相關問題