DuDu
DuDu

Reputation: 59

How to multiply var with var

i want to use the person to multiply the fuel but it run out with NaN. How to solve it ?

fuel["fuel1"]=525*1*12*person();

<script>
 var person = new Array();
 person["person1"]=1; // 1 person's trash produces 692 lbs of CO2 per year
 person["person2"]=2;
 person["person3"]=3;
 person["person4"]=4;

 var fuel= new Array(); // 100l produce 525lbs of CO2
 fuel["None"]=0;
 fuel["fuel1"]=525*1*12*person();
 fuel["fuel2"]=525*1.5*12;
 fuel["fuel3"]=525*2*12;
 fuel["fuel4"]=525*2.5*12;
 fuel["fuel5"]=525*3*12;
 fuel["fuel6"]=525*3.5*12;
 fuel["fuel7"]=525*4*12;
 fuel["fuel8"]=525*4.5*12;
 fuel["fuel9"]=525*5*12;
 fuel["fuel10"]=525*5.5*12;
 fuel["fuel11"]=525*6*12;
 fuel["fuel12"]=525*6.5*12;

function getNumberperson()
{  
    var numberperson=0;
    var theForm = document.forms["energyform"];
    var selectedPerson = theForm.elements["selectedperson"];
    for(var i = 0; i < selectedPerson.length; i++)
    {
        if(selectedPerson[i].checked)
        {
            numberperson = person[selectedPerson[i].value];
        }
    }
    return numberperson;
}

function getFueltotal()
{
    var fueltotal=0;
    var theForm = document.forms["energyform"];
     var selectedFuel = theForm.elements["fuel"];     
    fueltotal = fuel[selectedFuel.value];
    return fueltotal;
}

function calculateTotal()
{
    var cakePrice = getNumberperson() + getFueltotal();
    
    //display the result

    document.getElementById('totalPrice').innerHTML = +cakePrice;

}

//add a function to hide the result on page loading at the start
function hideTotal()
{
    document.getElementById('totalPrice').innerHTML = "0";
} 


</script>
<!DOCTYPE html>
<html>
<body onload='hideTotal()'>
    <div id="wrap">
        <form action="/action_page.php" id="energyform" onsubmit="return false;">
        <div>
            <div class="cont_order">
               <fieldset>
                <legend>Carbon Footprint Calculator</legend>
                <label >Size Of Household</label><br/>
                <label class='radiolabel'><input type="radio"  name="selectedperson" value="person1" onclick="calculateTotal()" />1</label><br/>
                <label class='radiolabel'><input type="radio"  name="selectedperson" value="person2" onclick="calculateTotal()" />2</label><br/>
                <label class='radiolabel'><input type="radio"  name="selectedperson" value="person3" onclick="calculateTotal()" />3</label><br/>
                <label class='radiolabel'><input type="radio"  name="selectedperson" value="person4" onclick="calculateTotal()" />4</label><br/>
<br/>
                <label >Household Fuel Consumption per month in liters</label>
         
                <select id="fuel" name='fuel' onchange="calculateTotal()">
                <option value="None">Select Fuel in liters</option>
                <option value="fuel1">100</option>
                <option value="fuel2">150</option>
                <option value="fuel3">200</option>
                <option value="fuel4">250</option>
                <option value="fuel5">300</option>
                <option value="fuel6">350</option>
                <option value="fuel7">400</option>
                <option value="fuel8">450</option>
                <option value="fuel9">500</option>
                <option value="fuel10">550</option>
                <option value="fuel11">600</option>
                <option value="fuel12">650</option>
               </select>
                <br/>
                <p>Total CO2 produced per year per household:</p>
                <div id="totalPrice">0</div>
                <div>US Household average is 21,820 lbs per year.
                </fieldset>
            </div>
            
            <input type='submit' id='submit' value='Submit' onclick="calculateTotal()" />
            <input type='reset' id='reset' value='Reset' onclick="hideTotal()" />
        </div>  
       </form>
                    </div>

</body>
              </html>
  

Upvotes: 0

Views: 65

Answers (1)

Morteza Gholami
Morteza Gholami

Reputation: 79

Remove the * person(); from fuel["fuel1"] = 525 * 1 * 12 * person(); that is causing error and interrupts code from assigning values to fuel. Then instead of plus sign in getNumberperson() + getFueltotal();, use *.

Upvotes: 1

Related Questions