2015-11-07 75 views
0

我正在研究涉及計算bmr的學校項目,我在調用此函數時不斷收到參考錯誤。if else用於計算bmr的語句

<script> 
function calbmr(){ 
     var height, weight, age; 
     var gender; 

     age = parseFloat(document.bmiform.age.value) 
     height = parseFloat(document.bmiform.height.value); 
     weight = parseFloat(document.bmiform.weight.value); 

     if (document.getElementById('Male').checked) { 
      gender = (66 + (9.6 * weight) + (1.8 * height) – (4.7 * age)); 
      alert(gender); 
     } 


     else if (document.getElementById('Female').checked) { 
       gender = (655 + (13.7 * weight) + (5 * height) – (6.8 * age)); 
       alert(gender); 
     } 

     else { 

      alert("please select a gender"); 
     } 
    } 
</script>  

但是,當我的代碼更改爲這一點,它會返回結果返回結果

if (document.getElementById('Male').checked) { 
      gender = "Male" 
      alert(gender); 
     } 


     else { 
      if (document.getElementById('Female').checked) { 
       gender = "Female"; 
       alert(gender); 
     } 

回答

1

你在你的代碼有兩個假-標誌:

if (document.getElementById('Male').checked) { 
    gender = (66 + (9.6 * weight) + (1.8 * height) - (4.7 * age)); 
    //           ^
    alert(gender); 
} else if (document.getElementById('Female').checked) { 
    gender = (655 + (13.7 * weight) + (5 * height) - (6.8 * age)); 
    //           ^
    alert(gender); 
} 
+0

,但我想減4.7 *年齡,你的意思是說這不是一個負號?對不起,我是新來的JavaScript –

+0

是的,你使用的標誌不是一個有效的減號。只需使用正確的減號複製我的代碼即可。 –

+0

好吧!謝謝!稍後會嘗試,我現在在外面 –