使用两个输入字段,三个函数用于一个输出

时间:2013-04-25 06:23:11

标签: javascript html5 output

我使用两个函数来处理两个输入,然后使用第三个函数来比较结果,第三个函数的结果是输出。

这是我的HTML:

<form id="standardPremuimcalc" oninput="updateOutput()">
    <input name= "new_loan_amount" type="number" value="0"/>
    <input name= "purchase_price" type="number" value="0"/>
    <output name= "premuim_rate" for="new loan amount purchase price"></output>
</form>

这是我的js:

function updateOutput(){

var form = document.getElementById("standardPremiumcalc");
var out = form.elements["premium_rate"];
var amount = parseInt(form.elements["new_loan_amount"].value);
var purchase = parseInt(form.elements ["purchase_price"].value);
var loanCalc = lender()
var ownCalc = owner()

function lender(amount){
if (amount<=100000){
    if (amount<=40000){
        return 200;
    }else{
        return (Math.ceil(amount/1000))*5;
    }
}else{
    if ((amount-100000)<=500000){
        return 500+(Math.ceil((amount-100000)/1000)*3.95);
    }else if ((amount-500000)<=2000000) {
        return 2080+(Math.ceil((amount-500000)/1000)*2.65);
    }else{
        return 6055+(Math.ceil((amount-2000000)/1000)*2);
    }
} 
}
function owner(purchase) {
if (purchase<=100000){
    if (purchase<=40000){
        return 200;
    }else{
        return (Math.ceil(purchase/1000))*5;
    }
}else{
    if ((purchase-100000)<=500000){
        return 500+(Math.ceil((purchase-100000)/1000)*3.95);
    }else if ((purchase-500000)<=2000000) {
        return 2080+(Math.ceil((purchase-500000)/1000)*2.65);
    }else{
        return 6055+(Math.ceil((purchase-2000000)/1000)*2);
    }
} 
}
function standardPremium (loanCalc,ownCalc) {
    if (loanCalc-ownCalc>0) {
        out.value = loanCalc+ownCalc
    }else{
        out.value = loanCalc
}
}
    lender(amount)
    owner(purchase)
    standardPremium(loanCalc,ownCalc)
};

我没有得到输出字段,我缺少什么?

2 个答案:

答案 0 :(得分:0)

premuim_rate需要在您的HTML中premium_rate

答案 1 :(得分:0)

首先:您的表单ID具有相同的拼写错误。

第二:您没有将金额变量传递给您的两个函数贷方所有者