0

2 つの関数を使用して 2 つの入力を処理し、3 番目の関数を使用して結果を比較し、3 番目の関数の結果を出力します。

ここに私の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)
};

出力フィールドを取得できません。何が欠けていますか?

4

2 に答える 2

0

最初: フォーム ID に同じスペルミスがあります。

2 つ目: amount変数を 2 つの関数Lenderownerに渡さない。

于 2013-04-25T07:06:41.003 に答える