gpt4 book ai didi

javascript - 输入验证未检测到空值

转载 作者:行者123 更新时间:2023-11-30 09:14:11 24 4
gpt4 key购买 nike

所以我有一个问题,当鼠标离开输入字段并且输入字段为空或少于 5 个字符时,我需要编写代码,它会输出一些内容

我试过将 .value 放在 getelementbyid 之后。请注意,我不能使用按钮来提交表单。

var username = document.getElementById('username');
var user_length = username.length;

username.onmouseout = function(){
if(username == ""){
alert('hi');
// var username_value =
//document.getElementById("username_output");
// username_value.innerHTML ="Please fill in your username!";
// username_value.style.color = 'red';
}

else if(user_length < 5){
alert('smaller than 5');
}
else{
alert('else');
}
};

每当鼠标离开时它应该输出一些东西。由于某种原因,它只出现在 else 语句中,而不出现在其他语句中

最佳答案

您正在将 input 本身(DOM 元素,document.getElementById('username') 的结果)与字符串进行比较,而不是输入的 值(value)

你想要它的 value 属性:

if (username.value == "") {

但请注意,用户可能会键入一个空格,在这种情况下,上述内容将是错误的,因为 "" 不等于 ""。您可以使用 trim 来解决这个问题:

if (username.value.trim() == "") {

由于空字符串是假的¹,您还可以节省一些输入:

if (!username.value.trim()) {

¹ "falsy"- 任何在用作 bool 值时强制为 false 的 JavaScript 值都称为 falsy 值。伪值是 0""NaNnullundefined、当然,false;所有其他值都是真实的

关于javascript - 输入验证未检测到空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56412970/

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