如何验证字段条目,因为用户仍然将值输入到javascript中的字段中?

时间:2016-04-21 16:26:46

标签: javascript

我正在尝试验证用于登录和注册的表单。正如我在一些网站上看到的那样......当我输入我的用户名或电子邮件时,即使我仍然在该领域,它也能确认准时。

我使用“onblur”事件进行了验证。我想这将是“onkeypress”得到我想要的。但是当我通过保持事件处理程序代码相同而将onblur()更改为onkeypress()时,它会产生一些问题。我甚至无法将钥匙输入现场。

我改变了onblur =“return validUser();” to onkeypress =“return valodUser();”

如何在我将数据输入字段时进行验证。

事件处理函数validUser()如下:

function validUser(){
    var x=document.getElementById("userId").value;
    var userId_error=document.getElementById("userId_error");
    var userReg=/^[A-Za-z]+[A-Za-z0-9_]*/;

    if(x.length==0||x==null){
        document.getElementById("userId").style.border="2px solid red";
        document.getElementById("userId").style.backgroundColor="eceb8f";
        userId_error.innerHTML="Please enter Username.";
        document.getElementById("userId").focus();
        return false;
        }
    else{
        document.getElementById("userId").style.border="1px solid #fff";
        userId_error.innerHTML="";
    }

    if(!userReg.test(x)){
        document.getElementById("userId").style.border="2px solid red";
        userId_error.innerHTML=" Please.   enter valid Username! (eg:Ram24,Jhon_s)";
        return false;
        }
    else{
        document.getElementById("userId").style.border="1px solid #fff";
        userId_error.innerHTML="";
    }

    return true;
}

1 个答案:

答案 0 :(得分:1)

只需将onblur更改为onkeypress,即使存在验证错误,也无法输入任何内容,您将通过返回false来阻止事件的默认操作。

在这些网站上,您会注意到它们在输入字段右侧显示错误,并且不会阻止您输入无效数据。你必须实现类似的东西。