Javascript焦点和模糊

时间:2015-07-17 12:02:48

标签: javascript events focus addeventlistener onblur

除了“模糊”之外,每件事情都很好。出于某种原因,我只会在没有输入任何字符的情况下得到反馈,但只要我输入的用户名少于5,则检查用户名附加在'模糊'不会发送任何反馈(我的开发人员工具中也没有错误消息)。

function checkUsername(){
    var username=el.value;
    if(username<5){
        elMsg.className='warning';
        elMsg.textContent='Not  long enough...';
    }else{
        elMsg.textContent='';
    }
}

function tipUsername(){
    elMsg.className='tip';
    elMsg.innerHTML='Username must be at least 5 characters';
}

var el=document.getElementById('username');
var elMsg=document.getElementById('feedback');

el.addEventListener('focus',tipUsername,false);
el.addEventListener('blur',checkUsername,false);

1 个答案:

答案 0 :(得分:1)

要检查字符串的长度,请使用"someString".length

/* ... */
if(username.length < 5){
/* ... */

演示

function checkUsername(){
    var username=el.value;
    if(username.length < 5){
        elMsg.className='warning';
        elMsg.textContent='Not  long enough...';
    }else{
        elMsg.textContent='';
    }
}

function tipUsername(){
    elMsg.className='tip';
    elMsg.innerHTML='Username must be at least 5 characters';
}

var el=document.getElementById('username');
var elMsg=document.getElementById('feedback');

el.addEventListener('focus',tipUsername,false);
el.addEventListener('blur',checkUsername,false);
<input type="text" id="username" placeholder="Enter a username..." />
<div id="feedback"></div>