Я пытаюсь создать простой калькулятор затрат в HTML Javascript, но мне не удается вызвать функцию JS с помощью кнопки HTML. Я знаю, что проблема должна быть связана с тем, как я называю свою функцию или как я показываю результат вычисления, или и то, и другое.Создание простой калькулятор затрат в html javascript. Вызов функции JS из кнопки HTML. Возвращение значения в JS
Если кто-нибудь может показать мне, где я ошибаюсь, и какая правильная практика была бы весьма признательна.
Описание: Код: http://codepen.io/FredHair/pen/FgJAd (Он возвращает Не определено для ответа).
Это мой HTML:
<div>
<h1>Cost Estimator</h1>
<form>
<input type= "numbers" id="x" placeholder = "Length" /><br />
<input type= "numbers" id="y" placeholder = "Width"/><br />
<input type= "numbers" id="z" placeholder = "Height"/><br />
<select id="choice" >
<option value = "" ></option>
<option value = "1">option 1</option>
<option value = "2">0ption 2</option>
<option value = "3">option 3</option>
</select>
<br/>
<br/>
<input id= "est" type="button" value = "Estimate" onclick= "calculator()"/>
<input id= "reset" type="reset" value = "Reset"/>
</form>
<h1 id="result"> = </h1>
</div>
Это JS:
function calculator(calc){
var x = Number(document.getElementById("x").value);
var y = Number(document.getElementById("y").value);
var z = Number(document.getElementById("z").value);
var p = Number(30);
var result;
switch(calc){
case"1" : result = z * p;
break;
case"2" : result = x * p + 50;
break;
case"3" : result = x * p + 30;
break;
}
document.getElementById("result").innerHTML = " = " + result;
}
http://codepen.io/FredHair/pen/FgJAd
Спасибо.