Javascript 下IE8使用 onblur事件导致浏览器崩溃、Firefox、Chrome浏览器测试正常。 如何解决?
代码如下:functionnameValidate(){varname=document.getElementById("emp_user").value;varErrn...
代码如下:
function nameValidate()
{
var name=document.getElementById("emp_user").value;
var Errname=document.getElementById("Errname");
var exr=/^[a-zA-Z\d]\w{3,11}[a-zA-Z\d]$/;
var bool=name.search(exr);
if(name=="" ||name==null)
{
Errname.innerHTML="<font color='red'><img src='images/Error.png'></img><b>请输入用户名!</b></font>";
document.getElementById("emp_user").focus();
return false;
}
if(bool==-1)
{
Errname.innerHTML="<font color='red'><img src='images/Error.png'></img><b>6~18个字符,包括字母、数字、下划线,以字母开头,字母或数字结尾!</b></font>";
document.getElementById("emp_user").value='';
return false;
}
else
{
document.getElementById("Errname").innerHTML="";
return true;
}
}
function emp_passValidate()
{
emp_pass=document.getElementById("emp_pass").value;
Erremp_pass=document.getElementById("Erremp_pass");
if(emp_pass==""||emp_pass==null)
{
Erremp_pass.innerHTML="<font color='red'><img src='images/Error.png'><b>请输入密码!</b></font>";
document.getElementById("emp_pass").focus();
return false;
}
if(emp_pass.length<6)
{
Erremp_pass.innerHTML="<font color='red'><img src='images/Error.png'><b>登录密码应大于6个字符!</b></font>";
document.getElementById("emp_pass").focus();
return false;
}
if(emp_pass.length>20)
{
Erremp_pass.innerHTML="<font color='red'><img src='images/Error.png'><b>登录密码应小于20个字符!</b></font>";
document.getElementById("emp_pass").focus();
return false;
}
else
{
Erremp_pass.innerHTML="<font color='green'><img src='images/Right.png'><b>√ 填写正确!</b></font>";
return true;
}
}
function re_PasswordValidate()
{
var re_Password=document.getElementById("re_Password").value;
var Errre_Password=document.getElementById("Errre_Password");
if(re_Password=="" || re_Password==null)
{
Errre_Password.innerHTML="<font color='red'><img src='images/Error.png'><b>请再次输入密码!</b></font>";
document.getElementById("re_Password").focus();
return false;
}
if(re_Password!=emp_pass)
{
Errre_Password.innerHTML="<font color='red'><img src='images/Error.png'><b>两次输入的密码不一致!</b></font>";
document.getElementById("re_Password").select();
return false;
}
else
{
Erremp_pass.innerHTML="<font color='green'><img src='images/Right.png'><b>√ 填写正确!</b></font>";
return true;
}
}
function checkForm()
{
if(!nameValidate() ||!emp_passValidate() || !re_PasswordValidate())
{
alert('aaaaa');
return false;
}
else
{
return true;
}
}
</script>
<td width="35%" colspan="2" bgcolor="#E8F1FF">
<font size="2">
<input name="emp_pass" type="password" id="emp_pass" size="20" onblur="emp_passValidate();">
<span id="Erremp_pass"></span>
</font></td> 展开
function nameValidate()
{
var name=document.getElementById("emp_user").value;
var Errname=document.getElementById("Errname");
var exr=/^[a-zA-Z\d]\w{3,11}[a-zA-Z\d]$/;
var bool=name.search(exr);
if(name=="" ||name==null)
{
Errname.innerHTML="<font color='red'><img src='images/Error.png'></img><b>请输入用户名!</b></font>";
document.getElementById("emp_user").focus();
return false;
}
if(bool==-1)
{
Errname.innerHTML="<font color='red'><img src='images/Error.png'></img><b>6~18个字符,包括字母、数字、下划线,以字母开头,字母或数字结尾!</b></font>";
document.getElementById("emp_user").value='';
return false;
}
else
{
document.getElementById("Errname").innerHTML="";
return true;
}
}
function emp_passValidate()
{
emp_pass=document.getElementById("emp_pass").value;
Erremp_pass=document.getElementById("Erremp_pass");
if(emp_pass==""||emp_pass==null)
{
Erremp_pass.innerHTML="<font color='red'><img src='images/Error.png'><b>请输入密码!</b></font>";
document.getElementById("emp_pass").focus();
return false;
}
if(emp_pass.length<6)
{
Erremp_pass.innerHTML="<font color='red'><img src='images/Error.png'><b>登录密码应大于6个字符!</b></font>";
document.getElementById("emp_pass").focus();
return false;
}
if(emp_pass.length>20)
{
Erremp_pass.innerHTML="<font color='red'><img src='images/Error.png'><b>登录密码应小于20个字符!</b></font>";
document.getElementById("emp_pass").focus();
return false;
}
else
{
Erremp_pass.innerHTML="<font color='green'><img src='images/Right.png'><b>√ 填写正确!</b></font>";
return true;
}
}
function re_PasswordValidate()
{
var re_Password=document.getElementById("re_Password").value;
var Errre_Password=document.getElementById("Errre_Password");
if(re_Password=="" || re_Password==null)
{
Errre_Password.innerHTML="<font color='red'><img src='images/Error.png'><b>请再次输入密码!</b></font>";
document.getElementById("re_Password").focus();
return false;
}
if(re_Password!=emp_pass)
{
Errre_Password.innerHTML="<font color='red'><img src='images/Error.png'><b>两次输入的密码不一致!</b></font>";
document.getElementById("re_Password").select();
return false;
}
else
{
Erremp_pass.innerHTML="<font color='green'><img src='images/Right.png'><b>√ 填写正确!</b></font>";
return true;
}
}
function checkForm()
{
if(!nameValidate() ||!emp_passValidate() || !re_PasswordValidate())
{
alert('aaaaa');
return false;
}
else
{
return true;
}
}
</script>
<td width="35%" colspan="2" bgcolor="#E8F1FF">
<font size="2">
<input name="emp_pass" type="password" id="emp_pass" size="20" onblur="emp_passValidate();">
<span id="Erremp_pass"></span>
</font></td> 展开
展开全部
为啥要把机子整那么累!
若emp_pass和re_Password都用onblur事件的话,
分别点击俩个密码框,它们都会抢着聚焦(造死循环)
修改为试试。
var emp_pass=document.getElementById("emp_pass").value;
var Erremp_pass=document.getElementById("Erremp_pass");
//document.getElementById("emp_pass").focus();
//document.getElementById("re_Password").focus();
//document.getElementById("re_Password").select();
...
if(re_Password!=document.getElementById("emp_pass").value)
...
<input name="emp_pass" type="password" id="emp_pass" size="20" onblur="emp_passValidate();">
<span id="Erremp_pass"></span><br>
<input type="password" id="re_Password" onblur="re_PasswordValidate();">
<span id="Errre_Password"></span><br>
<input type="text" ><br>
若emp_pass和re_Password都用onblur事件的话,
分别点击俩个密码框,它们都会抢着聚焦(造死循环)
修改为试试。
var emp_pass=document.getElementById("emp_pass").value;
var Erremp_pass=document.getElementById("Erremp_pass");
//document.getElementById("emp_pass").focus();
//document.getElementById("re_Password").focus();
//document.getElementById("re_Password").select();
...
if(re_Password!=document.getElementById("emp_pass").value)
...
<input name="emp_pass" type="password" id="emp_pass" size="20" onblur="emp_passValidate();">
<span id="Erremp_pass"></span><br>
<input type="password" id="re_Password" onblur="re_PasswordValidate();">
<span id="Errre_Password"></span><br>
<input type="text" ><br>
展开全部
您好!很高兴为您答疑!
把foucs()去掉,emp_pass和re_Password都用onblur事件的话,分别点击俩个密码框,它们都会抢着聚焦。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
把foucs()去掉,emp_pass和re_Password都用onblur事件的话,分别点击俩个密码框,它们都会抢着聚焦。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询