【发布时间】:2021-11-05 09:39:16
【问题描述】:
天哪,我真是个新手!只有逻辑运算符错误。 (应该是|| 而不是&&)。
非常非常感谢。
我的 DOM HTML 项目有问题。
我正在尝试进行名称文本输入,其长度应在 2-36 个字符内。如果用户点击提交并且条件不满足,它会在页面顶部显示一个alert(),表示他们应该输入2-36个字符。但是,addEventLisenter() 无法正确验证用户的输入。
我不允许使用 HTML5 验证器,因此 minlength 和 maxlength 不能与 <input> 标记内联使用
这是我的代码:
var firstName = document.getElementById('firstName').value.length;
document.getElementById("submit").addEventListener("click", function() {
if (firstName < 2 && firstName > 30) {
alert("Please input 2-36 characters");
}
});
<form>
<div class="firstNameDiv">
<label class="required" for="firstName">First Name</label><br>
<input type="text" id="firstName" name="firstName" placeholder="2-36 characters only" required>
</div>
<div class="submitDiv">
<input id="submit" type="submit" value="Submit">
</div>
</form>
【问题讨论】:
-
你需要在事件监听器中获取长度,而不是在页面第一次加载的时候。
-
获取事件监听器的长度是什么意思?加载页面时,我为
value.length声明一个var。使用adddEventListener("click", function ()....)}.意味着只要单击按钮就运行该功能。你能给出一个提示代码吗? -
您没有阅读下面发布的答案吗?
-
另请注意,
firstName>30与您的 36 的警报/占位符不匹配
标签: javascript html jquery oop dom