2013-03-28 1 views
0

Я пытаюсь получить значения из моей формы в функцию и вернуть значение Вот мой функцияВ моей функции javascript я пытаюсь получить значения из формы пользовательского ввода в функцию, которую я создал, и вывод ответа

function createInput(){ 
    var weight; 
    weight = document.bmiCalc.weight.value; 

    var height = getElementById('height').value; 
    input.onclick = function calcBMI() 
    { 
    // calculate users BMI 

    var BMI = weight * 703/Math.pow(height, 2); 
    return BMI; 
    } 
    document.getElementById("BMI").appendChild(); 
} 

и вот мой код формы с моей страницы HTML

<form id="bmiCalc"> 
     <h2> Calculate your Current BMI</h2> 
     <p><label> Please enter your weight in lbs: <input type="text" name = "weight" id= "weight"></label></p> 
     <p><label> Please enter your height in inches: <input type="text" name ="height" id="height"></label> 
      <button type="submit">Submit</button></p> 
     <p><label> Your current BMI is: <input name="BMI" id="BMI"></label></p> 
    </form> 

ответ

0

Изменены ваш HTML и JS:

http://jsfiddle.net/CQxnx/

HTML:

<h2> Calculate your Current BMI</h2> 
<label> Please enter your weight in lbs:</label> <input type="text" name="weight" id="weight"> 
<br />  
<label> Please enter your height in inches:</label> <input type="text" name="height" id="height"> 
    <br /> 
    <input type="button" value="calculate" onclick="calcBMI();" /> 
    <br /> 

<div id="msg"></div> 

ЯШ:

function calcBMI(){ 
    var weight = document.getElementById('weight').value; 

    var height = document.getElementById('height').value; 
    // calculate users BMI 

    var BMI = weight * 703/Math.pow(height, 2); 
    var msg = document.getElementById('msg'); 
    msg.innerHTML = 'Your current BMI is:' + BMI; 

} 
+0

я попробовал это один и кнопка еще ничего не делает. –

+0

У вас есть jsfiddle, который работает! [http://jsfiddle.net/CQxnx/](http://jsfiddle.net/CQxnx/) – Adidi

+0

спасибо большое, что помогло мне увидеть, я забыл добавить div –

0

Вы, кажется, немного прочь, но вы никогда не вызвать функцию createInput. Даже после этого вы фактически не добавляете кнопку ввода. Нет элемента BMI ID, а createInput будет вычислять вес/высоту, как они есть, когда он вызывается, а не при нажатии кнопки.

Вместо этого вы должны просто положить кнопку в DOM для начала и привязать к ней функцию вычисления.

document.getElementById('calculate').addEventListener('click', function() { 
    document.getElementById("BMI").textContent = 
     document.getElementById('weight').value * 703/
     Math.pow(document.getElementById('height').value, 2); 
}); 

http://jsfiddle.net/fsKNb/

Смежные вопросы