2012-05-08 3 views
0

Я новичок в JavaScript и пытаюсь узнать больше о том, что он может сделать и как его использовать.Возвращение нескольких результатов в innerHTML

возможно ли вернуть несколько результатов в результате расчета?

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

Interest rate

total amount borrowed и monthly repayment

До сих пор мне удалось получить его, чтобы показать ежемесячный платеж в DIV на странице , но я хотел бы иметь возможность показать все 3 на странице в результате одного вычисления.

Возможно ли это?

Вот что я придумал до сих пор: HTML: <p><input type="button" onclick="main();" value="Calculate"></p>

JavaScript:

function main() 
{ 

var userInput1 = 0; 
var userInput2 = 0; 
var displayResult; 


userInput1 = document.getElementById("loan_amount").value; 
userInput1 = parseFloat(userInput1); 
userInput2 = document.getElementById("loan_term").value; 
userInput2 = parseFloat(userInput2); 

displayResult = calcLoan(userInput1,userInput2); 
document.getElementById("Result1").innerHTML=displayResult; 

} 

function calcLoan(userInput1,userInput2) 
{ 
var interest =0; 


    if (userInput1 <1000) 
    { 
    alert("Please enter a value above £1000") 
    } 
    else if (userInput1 <= 10000) 
    { 
    interest = 4.25 + 5.5; 
    } 
    else if (userInput1 <= 50000) 
    { 
    interest = 4.25 + 4.5; 
    } 
    else if (userInput1 <= 100000) 
    { 
    interest = 4.25 + 3.5; 
    } 
    else 
    { 
    interest = 4.25 + 2.5; 
    } 


var totalLoan = 0; 


    totalLoan = userInput1 +(userInput1*(interest/100))*userInput2; 

var monthlyRepayment = 0; 
var monthly; 


    monthlyRepayment = totalLoan/(userInput2*12); 
    monthly=monthlyRepayment.toFixed(2); 


    alert("Interest Rate = " + interest + "%" +" "+"Total Loan amount = " + "£"+ totalLoan +" "+ "Your monthly repayment is = " + " " + "£"+ monthly); 

return monthly; 

} 

Если кто-то может мне точку в правильном направлении, это было бы здорово!

ответ

1

Вы можете создавать переменные с несколькими настраиваемыми полями и передавать их между функциями. Таким образом, ваши функции должны выглядеть следующим образом:

function main() 
{ 
    ... 

    displayResult = calcLoan(userInput1,userInput2); 
    document.getElementById("Result1").innerHTML = displayResult.interest; 
    document.getElementById("Result2").innerHTML = displayResult.totalLoan; 
    document.getElementById("Result3").innerHTML = displayResult.monthly; 
} 

function calcLoan(userInput1,userInput2) 
{ 
    ... 

    alert("Interest Rate = " + interest + "%" +" "+"Total Loan amount = " + "£"+ totalLoan +" "+ "Your monthly repayment is = " + " " + "£"+ monthly); 

    var result; 
    result.interest = interest; 
    result.totalLoan = totalLoan; 
    result.monthly = monthly; 

    return result; 
} 

И не забудьте добавить Div элементов с идентификаторами Result1, result2 и Result3.

<div id="Result1"></div> 
<div id="Result2"></div> 
<div id="Result3"></div> 
+0

Спасибо, я дам вам сообщение и дам вам знать – user1361276

+0

Я пробовал этот метод. Консоль ошибки дает ошибке «идентификатор результата undefined», ссылающийся на «результат var»; result.interest = interest; result.totalLoan = totalLoan; result.monthly = ежемесячно; ' – user1361276

+0

OK. Измените 'var result;' на 'var result = [];'. Теперь это должно сработать. – mostar

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