Javascript 如何接受用户输入作为函数的参数?

Javascript 如何接受用户输入作为函数的参数?,javascript,html,Javascript,Html,我正在使用HTML和Javascript开发一个税务计算器。它需要接受两个用户输入(“欠款总额”和“您的付款”),并计算“您的付款”占“欠款总额”的百分比。然后,它们应该显示在“Answer段落”标签中。最好的方法是什么 <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="getPe

我正在使用HTML和Javascript开发一个税务计算器。它需要接受两个用户输入(“欠款总额”和“您的付款”),并计算“您的付款”占“欠款总额”的百分比。然后,它们应该显示在“Answer段落”标签中。最好的方法是什么

<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
  </head>
<body>
<div id="getPercentage">
  <div id="total">
    Total owed:
    <input id="totalInput" type="text">
  </div>
  <div id="payment">
    Your payment:
    <input id="paymentInput" type="text">
  </div>
  <button onclick="handlers.getPercentage()">Get percentage</button>
</div>
  <div>
    <p id="answerParagraph">
    </p>
  </div>

<script>
var taxes = {
  getPercentage: function(total, payment) {
   var percentage = (Math.floor((payment / total) * 100));
   },
  }

var handlers = {
  getPercentage: function() {
    var totalInput = document.getElementById('totalInput');
    var paymentInput = document.getElementById('paymentInput');
    var answer = taxes.getPercentage(totalInput.value, paymentInput.value);
  }
}
</script>
</body>
</html>

欠款总额:
您的付款:
获得百分比

风险值税={ getPercentage:函数(总计、付款){ 风险值百分比=(数学下限((付款/总额)*100)); }, } 变量处理程序={ getPercentage:函数(){ var totalInput=document.getElementById('totalInput'); var paymentInput=document.getElementById('paymentInput'); var answer=taxes.getPercentage(totalInput.value,paymentInput.value); } }
您必须从taxes.getPercentage函数返回答案

getPercentage: function (total, payment) {
            var percentage = (Math.floor((payment / total) * 100));
            return percentage;
        }
并显示在你的回答段落中。因此,在handlers.getPercentage中:

...    
var answer = taxes.getPercentage(totalInput.value, paymentInput.value);
                answerParagraph.innerHTML = answer;

下面修改的代码应该可以工作

var税={
getPercentage:函数(总计、付款){
风险值百分比=(数学下限((付款/总额)*100));
回报率
},
}
变量处理程序={
getPercentage:函数(){
var totalInput=document.getElementById('totalInput');
var paymentInput=document.getElementById('paymentInput');
var answer=taxes.getPercentage(totalInput.value,paymentInput.value);
document.getElementById('answer段落')。innerHTML=answer
}
}

欠款总额:
您的付款:
获得百分比


如果通过两个输入字段中的任何一个上的
keyup
-事件触发
calcpercentage()
功能,则可以省去该按钮:

//定义缩写符号byId(id):
constbyid=id=>document.getElementById(id);
//委托事件绑定:仅影响输入元素
byId('getPercentage')。addEventListener('keyup',函数(ev){
如果(ev.target.tagName!='INPUT')返回false;
byId('answerparagration').innerHTML=
(byId('paymentInput')。值*100/
byId('totalInput').value).toFixed(2)+“%”;
});
//手动触发事件。。。
byId('totalInput').dispatchEvent(新事件('keyup',{bubbles:true}))

欠款总额:
您的付款: