是否可以直接从HTML将HTML元素传递给oninput属性中定义的函数?

时间:2020-10-14 21:34:08

标签: javascript html input

我正在使用一个名为quantityLimits()的函数,该函数要重用并根据传递给它的元素多次调用。

这些元素之一是我的HTML中的此输入数字元素:

int arraySize = pArray.length; // I think, based on your code
double[] foo = elements.getDoubleArray(0, arraySize);
return foo[pos - 1];

这是我现在拥有的Javascript中的quantityLimits()函数:

<input id="quantityInput" type="number" min=1 max=100 value=1 oninput="quantityLimits()">

此功能可以防止用户在输入框中输入负值,也不能输入大于定义的最大值(在我的情况下为100)的数字。是否可以将输入元素对象传递到元素的oninput属性,以便我可以在quantumLimits()函数中使用“ this”来引用该对象。

类似这样的东西:

function quantityLimits() {
  let max = parseInt(this.max);
  let quantity = parseInt(this.value);
  if (quantity > max) {
    this.value = max;
  }
  else if (quantity < 1) {
    this.value = Math.abs(this.value);
  }
}

1 个答案:

答案 0 :(得分:0)

有了Pooshonk的输入,答案就解决了。

HTML:

<input id="quantityInput" type="number" min=1 max=100 value=1 oninput="quantityLimits(this)">

JavaScript:

function quantityLimits(element) {
  let max = parseInt(element.max);
  let quantity = parseInt(element.value);
  if (quantity > max) {
    element.value = max;
  }
  else if (quantity < 1) {
    element.value = Math.abs(element.value);
  }
}
相关问题