如何通过选中一个框来更改 HTML 中的最大属性?

How do I change the max attribute in HTML by checking a box?

我想更改 HTML 中输入元素的 max 属性,方法是使用 HTML 和 JavaScript 中的 onchange 属性选中或取消选中复选框。但是,我编写的代码不会更改 max 属性,当我选中相关框时默认值保持不变。

我想在选中或取消选中该框(第一个代码片段)时调用 JavaScript 函数 max_events(),并且我希望它更改第二个代码片段中的 max 属性。

<input type="checkbox" name="generatorOUT" id="generatorOUT" onchange="max_events(this);"> generator<br>
<input type="number" name="nevents" id='box2' oninput="calculate();" min="1" max="10000" required></td>

这是我的 max_events 函数:

function max_events(checkboxElem) {
   if(document.getElementByID('generatorOUT').checked)
     document.getElementByID('box2').max = "1000";
   else document.getElementByID('box2').max = "10000";
}

应该是getElementById而不是getElementByID。您也可以使用传递给函数的对象来引用当前元素。

function max_events(checkboxElem) {
  var box = document.getElementById('box2');
  if(checkboxElem.checked)
   box.max = "1000";
  else box.max = "10000";
}
<input type="checkbox" name="generatorOUT" id="generatorOUT" onchange="max_events(this);"> generator<br>
<input type="number" name="nevents" id='box2' oninput="calculate();" min="1" max="10000" required/>