我正在尝试验证用于登录和注册的表单。正如我在一些网站上看到的那样......当我输入我的用户名或电子邮件时,即使我仍然在该领域,它也能确认准时。
我使用“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;
}
答案 0 :(得分:1)
只需将onblur
更改为onkeypress
,即使存在验证错误,也无法输入任何内容,您将通过返回false来阻止事件的默认操作。
在这些网站上,您会注意到它们在输入字段右侧显示错误,并且不会阻止您输入无效数据。你必须实现类似的东西。