2015-09-29 4 views
3

Я написал этот кусок кода, но он не работает. Я хочу использовать значение, введенное пользователем, чтобы выполнить следующие вычисления ...Взять пользовательский ввод для вычисления в javascript

function calculateBasic() 
 
\t \t { 
 
\t \t \t var uservalue = form.size.value; 
 
\t \t \t var powerForOrganic = Math.pow(uservalue,1.05); 
 
\t \t \t var effortForOrganic = 2.4 * power; 
 
\t \t \t var powerTdevOrganic = Math.pow(effortForOrganic,0.38); 
 
\t \t \t var tdevForOrganic = 2.5 * powerTdevOrganic; 
 
\t \t \t var averageStaffForOrganic = effortForOrganic/tdevForOrganic; 
 
\t \t \t var productivityLevelForOrganic = averageStaffForOrganic/effortForOrganic; 
 
\t \t \t alert("Effort :" + effortForOrganic + "TDEV :" + tdevForOrganic + "Average Staff :" + averageStaffForOrganic + "Productivity :" + productivityLevelForOrganic); 
 
\t \t \t 
 
\t \t }
<input type="text" id="size" placeholder="Enter the size in KLOC"> 
 
<input type="button" id="enterInfo" Value="Submit" onclick="calculateBasic(this.form);">

+0

'document.getElementById ("размер"). Value' ... – War10ck

ответ

2

Ваша линия должна быть

var uservalue = document.getElementById("size").value; 

power также не был определен. Вероятно, вы имели в виду powerForOrganic, которая была определена ранее.

var effortForOrganic = 2.4 * powerForOrganic; 

Вот полный код

function calculateBasic() { 
    var uservalue = Number(document.getElementById("size").value); 
    var powerForOrganic = Number(Math.pow(uservalue,1.05)); 
    var effortForOrganic = Number(2.4 * powerForOrganic); 
    var powerTdevOrganic = Number(Math.pow(effortForOrganic,0.38)); 
    var tdevForOrganic = Number(2.5 * powerTdevOrganic); 
    var averageStaffForOrganic = effortForOrganic/tdevForOrganic; 
    var productivityLevelForOrganic = averageStaffForOrganic/effortForOrganic; 
    alert("Effort :" + effortForOrganic + "TDEV :" + tdevForOrganic + "Average Staff :" + averageStaffForOrganic + "Productivity :" + productivityLevelForOrganic); 

    } 

var button = document.getElementById("enterInfo"); 

button.addEventListener("click", function() { 
    calculateBasic(); 
}); 

http://jsfiddle.net/739amacp/

+0

Она до сих пор не работает :( –

+0

Это была большая помощь сэр спасибо его работы –

+0

Также @M .Nabeel вам нужно изменить html: 'onclick =" calculateBasic(); "' –

0

В строке 4 вы ссылаетесь power, когда я считаю, вы намеревались ссылаться powerForOrganic.

+0

спасибо большое сэр –

0

Это напоминает мне старые времена программирования с помощью javascript. Он по-прежнему действителен.

1) Вы передаете форму в качестве аргумента функции, но функция не получает ее. 2) некоторая переменная, которую вы используете внутри функции, не объявлена ​​или недоступна. 3) Если вы получаете значения формы как form..value, тогда вы должны указать имя для этого элемента.

function calculateBasic(form) 
 
\t \t { 
 
\t \t \t var uservalue = (form.size.value); 
 
\t \t \t var powerForOrganic = Math.pow(uservalue,1.05); 
 
\t \t \t var effortForOrganic = 2.4 * powerForOrganic; 
 
\t \t \t var powerTdevOrganic = Math.pow(effortForOrganic,0.38); 
 
\t \t \t var tdevForOrganic = 2.5 * powerTdevOrganic; 
 
\t \t \t var averageStaffForOrganic = effortForOrganic/tdevForOrganic; 
 
\t \t \t var productivityLevelForOrganic = averageStaffForOrganic/effortForOrganic; 
 
\t \t \t alert("Effort :" + effortForOrganic + "TDEV :" + tdevForOrganic + "Average Staff :" + averageStaffForOrganic + "Productivity :" + productivityLevelForOrganic); 
 
\t \t \t 
 
\t \t }
<form> 
 
<input type="text" name="size" id="size" placeholder="Enter the size in KLOC"> 
 
<input type="button" id="enterInfo" Value="Submit" onclick="calculateBasic(this.form)"> 
 
    </form>

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