javascript - 我可以直接从 HTML 将 HTML 元素传递给 oninput 属性中定义的函数吗?
问题描述
我正在研究一个名为 quantityLimits() 的函数,我想根据传递给它的元素重复使用和调用多次。
这些元素之一是我的 HTML 中的这个输入数字元素:
<input id="quantityInput" type="number" min=1 max=100 value=1 oninput="quantityLimits()">
这是我现在拥有的 Javascript 中的 quantityLimits() 函数:
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);
}
}
此功能可防止用户在输入框中输入负值并输入大于定义的最大值(在我的情况下为 100)的数字。是否可以在元素的 oninput 属性中传递输入元素对象,例如我可以在 quantityLimits() 函数中使用“this”来引用该对象。
像这样的东西:
<input id="quantityInput" type="number" min=1 max=100 value=1 oninput="quantityLimits(***quantityInput***)">
解决方案
有了 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);
}
}
推荐阅读
- c# - 有没有办法使用 c# 获取大型机系统(IBM Pcomm)中所有字段的列表?
- php - 如何将第二个参数作为可选参数传递给 LUMEN 中的路由?
- angular - 如何在 html 视图中显示表单控件的值?
- javascript - PHP 按位和 Javascript 负数
- javascript - @ 在导入路径中是什么意思?
- python - 使用请求库将 CURL 请求转换为 Python
- redis - 为什么使用 spark-submit 将 4000 张图片加载到 redis 需要的时间(9 分钟)比将相同的图片加载到 HBase(2.5 分钟)要长?
- python - 使用语言环境打印以色列货币
- asp.net-core - 通过业务层在表示层初始化数据库上下文(域层)
- c# - c#身份无法创建自定义属性