gpt4 book ai didi

javascript - 将元素传递到 JavaScript 函数中,然后将其添加到 EventListener

转载 作者:行者123 更新时间:2023-12-01 03:16:02 25 4
gpt4 key购买 nike

我正在尝试编写一个小的 JavaScript 来验证我网站形式的 type =“number”的输入。基本上,这个函数试图确保允许输入的最大长度不超过我传入的参数。我编写的函数接受两个参数,一个是 html 元素,另一个是 maxlength。但是,当我将此功能添加到输入元素后,它似乎不起作用。请看一下并告诉我哪里出错了以及错过了哪些概念。


/* Show submit button only when the form has been validated */
/* Variables */
var form = document.querySelector(".resForm");
var resFormBtn = document.querySelector(".submitButton");
var numInput = document.querySelector("#numberInput");

function showSubmitButton() {
if (form.checkValidity() === true) {
resFormBtn.style.display = "block";
}
}

function validateNumInput(maxlength, ele) {
if (ele.length > maxlength) {
ele.value = ele.value.slice(0, maxlength);
}
}

form.addEventListener("change", showSubmitButton, false);

numInput.addEventListener("input", function () {
validateNumInput(8, numInput);
}, false);

最佳答案

if (ele.length > maxlength)

这里有问题。 ele 是一个引用节点,它没有“length”这样的属性,因此条件内的代码永远不会触发。

只需将其更改为

ele.value.length > maxlength

代码就可以了

关于javascript - 将元素传递到 JavaScript 函数中,然后将其添加到 EventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45528263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com