Javascript 输入验证未检测到空值
所以我有一个问题,当鼠标离开一个输入字段时,如果输入字段是空的或者它输出的内容少于5个字符,我需要生成代码 我已尝试将.value放在getelementbyid之后。请知道,我不能使用按钮提交表单Javascript 输入验证未检测到空值,javascript,Javascript,所以我有一个问题,当鼠标离开一个输入字段时,如果输入字段是空的或者它输出的内容少于5个字符,我需要生成代码 我已尝试将.value放在getelementbyid之后。请知道,我不能使用按钮提交表单 var username = document.getElementById('username'); var user_length = username.length; username.onmouseout = function(){ if(username == ""){
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');
}
};
var username=document.getElementById('username');
var user_length=username.length;
username.onmouseout=函数(){
如果(用户名==“”){
警报(“hi”);
//变量username\u值=
//getElementById(“用户名_输出”);
//username\u value.innerHTML=“请填写您的用户名!”;
//用户名_value.style.color='red';
}
否则如果(用户长度<5){
警报(“小于5”);
}
否则{
警报(“其他”);
}
};
当鼠标离开时,它应该输出一些东西。出于某种原因,它只出现在else语句中,而不是其他语句中。您正在将
输入
本身(DOM元素,document.getElementById('username')的结果)与字符串进行比较,而不是与输入的值进行比较
您需要它的值
属性:
if (username.value == "") {
但请注意,用户可能会在空格中键入,在这种情况下,上述内容将为false,因为“
不等于”
。您可以使用trim
修复该问题:
if (username.value.trim() == "") {
由于空字符串是falsyñ,您还可以保存一些键入:
if (!username.value.trim()) {
“”“falsy”-当用作布尔值时强制为
false
的任何JavaScript值称为falsy值。falsy值是0
,,NaN
,null
,未定义
,当然还有false
;所有其他值都是真实的。您正在将输入
本身(DOM元素,document.getElementById('username')
的结果)与字符串(而不是输入值)进行比较
您需要它的值
属性:
if (username.value == "") {
但请注意,用户可能会在空格中键入,在这种情况下,上述内容将为false,因为“
不等于”
。您可以使用trim
修复该问题:
if (username.value.trim() == "") {
由于空字符串是falsyñ,您还可以保存一些键入:
if (!username.value.trim()) {
“”“falsy”-当用作布尔值时强制为
false
的任何JavaScript值称为falsy值。falsy值是0
,,NaN
,null
,未定义
,当然还有false
;所有其他价值观都是真实的