【问题标题】:Using two inputs fields with three functions for one output对一个输出使用具有三个功能的两个输入字段
【发布时间】:2023-03-02 23:55:01
【问题描述】:

我使用两个函数来处理两个输入,然后使用第三个函数将结果与作为输出的第三个函数的结果进行比较。

这是我的 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)
};

我没有得到输出字段,我错过了什么?

【问题讨论】:

  • 我创建了另一个函数,该函数在输入时激活并调用 standardPremium (lender(amount),owner(purchase)),然后让我的 JS 运行。

标签: javascript html output


【解决方案1】:

premuim_rate 需要在您的 HTML 中为 premium_rate

【讨论】:

  • 很好,谢谢,我在我的 HTML 中将 premuim 更改为高级,但它仍然无法正常工作
【解决方案2】:

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

第二:您没有将 amount 变量传递给您的两个函数 lenderowner

【讨论】:

  • 已经修复了拼写错误。当我声明变量数量和购买并使用 parseInt 命令从表单中获取值时,我以为我传递了一个数量变量
猜你喜欢
  • 1970-01-01
  • 2017-12-27
  • 1970-01-01
  • 2015-04-13
  • 1970-01-01
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多