嗨,我是javascript新手,遇到了一些麻烦。

我需要我的函数接受用户输入“ recserv”,并将其乘以所选单选按钮的值,并在该值更改或单选按钮更改的情况下进行更新。

更改单选按钮似乎可行,但是更改“ recserv”值时出现错误。

感谢您的任何帮助!

<script>
function yeartot(service) {
    var recserv = parseFloat(document.getElementById('recserv').value);
    document.getElementById("result").value = service*recserv;
}
</script>
<body>

<p>Select the frequency</p>
  <input onclick="yeartot(this.value)" type="radio" name="service" value="11">Monthly<br>
  <input onclick="yeartot(this.value)" type="radio" name="service" value="6" checked> Bi-Monthly<br><br>

 Recurring Service Amount <input onchange="yeartot()" id="recserv" value=0><br/><br/>

  Total for year <input type="text" id="result">

最佳答案

const setup = () => {
	const serviceInputs = document.querySelectorAll('input[name="service"]');
  serviceInputs.forEach(e => e.addEventListener('click', yeartot));
	const recserv = document.querySelector('#recserv');
  recserv.addEventListener('change', yeartot);

}

const yeartot = (service) => {
    const checkedInput = document.querySelector('input:checked');
    const recserv = document.querySelector('#recserv');

    const serviceNumber = parseFloat(checkedInput.value, 10);
    const recservNumber = parseFloat(recserv.value, 10);

    const result = document.querySelector('#result');
    result.value = serviceNumber * recservNumber;
}


//load
window.addEventListener('load', setup);

<body>
  <p>Select the frequency</p>
  <input type="radio" name="service" value="11">Monthly<br>
  <input type="radio" name="service" value="6" checked> Bi-Monthly<br><br>

 Recurring Service Amount <input id="recserv" value="0"><br/><br/>

  Total for year <input type="text" id="result">

</body>

10-05 20:54
查看更多