求解为什么点注册的时候,所有信息重置了,解锁按钮也没有显示,菜鸟,多多包涵

CocaCola... 2017-09-27 10:37:10
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>表单验证</title>
</head>
<body>
<form method="post" action="" onSubmit="return eg.regCheck();">
<input type="hidden" name="" id="errnum" value="0"/>
账户:<input type="text" name="" id="userid" /> <br/> <br/>
密码:<input type="password" name="" id="userpwd"/> <br/> <br/>
确认:<input type="password" name="" id="userpwd2"/> <br/> <br/>
简介:<textarea name="" rows="4" cols="18" id="about"></textarea><br/> <br/>
<input type="submit" value="注册" id="regBtn" />
<input type="button" value="解锁" onClick="eg.unlock()" style="display:none;" id="regUnlock">
</form>

<script>
var eg={};
eg.$=function(id){
return document.getElementById(id);
};
eg.regCheck=function(){
var uid=eg.$("userid");
var upwd=eg.$("userpwd");
var upwd=eg.$("userpwd2");
if(uid.value=='')
{
alert('账户不能为空');
eg.err();
return false;

}
if(upwd.value=='')
{
alert('密码不能为空!');
eg.err();
return false ;
}

if(upwd.value!=upwd2)
{
alert('两次密码不相同,请重新输入!');
eg.err();
return false;

}

var about=eg.$("about");
if(about.value.length>60)
{
alert('简介太长!');
eg.err();
return false;

}
return true;

};
eg.err=function()
{
var el=eg.$("errnum")
var old=el.value;
el.value=parseInt(old)+1;
eg.lock();
};

eg.lock=function(){
var err=eg.$("errnum");
if(parseInt(err.value)>2)
{
eg.$("regBtn").disabled=true;
eg.$("reUnlock").style.display="block";

}
};



eg.unlock=function(){
eg.$("regBtn").disabled=false;
eg.$("regUnlock").style.display="none";

}
</script>

</body>
</html>
...全文
237 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
clark_kidd 2017-09-27
  • 打赏
  • 举报
回复
似乎是js报错导致 onsubmit 的 return false 避免提交机制没生效,最后form提交了
jio可 2017-09-27
  • 打赏
  • 举报
回复
错误很多 1.upwd.value!=upwd2 upwd2这个变量没有 2.eg.$("reUnlock").style.display="block"; id=reUnlock的dom不存在 3.form表单提交会刷新页面导致页面清空 4.格式好乱......

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>表单验证</title>
</head>
<body>
<form method="post" action=""> 
  <input type="hidden" name="" id="errnum" value="0"/>
  账户:<input type="text" name="" id="userid" /> <br/> <br/> 
  密码:<input type="password" name="" id="userpwd"/> <br/> <br/> 
  确认:<input type="password" name="" id="userpwd2"/> <br/> <br/> 
  简介:<textarea name="" rows="4" cols="18" id="about"></textarea><br/> <br/> 
  <input type="button" value="注册" id="regBtn" onclick="eg.regCheck()"/>
  <input type="button" value="解锁" onClick="eg.unlock()" style="display:none;" id="regUnlock">
</form>

<script>
var eg = {};

//获取dom
eg.$ = function(id){
  return document.getElementById(id);
};

//校验表单
eg.regCheck = function(){
  var uid = eg.$("userid");
  var upwd = eg.$("userpwd");
  var upwd2 = eg.$("userpwd2");
  var about = eg.$("about");
  if(uid.value == ''){
    console.log('账户不能为空');
    eg.err();
    return false;

  }
  if(upwd.value == ''){
    console.log('密码不能为空!');
    eg.err();
    return false ;
  }

  if(upwd.value != upwd2){
    console.log('两次密码不相同,请重新输入!');
    eg.err();
    return false;
  }

  if(about.value.length > 60){
    console.log('简介太长!');
    eg.err();
    return false;     
  }
  return true;
};

//记录错误次数
eg.err = function(){
  var el = eg.$("errnum");
  var old = el.value;
  el.value = parseInt(old)+1;
  eg.lock();
};

//错误3次锁定 隐藏注册按钮,显示解锁按钮
eg.lock = function(){    
  var err = eg.$("errnum");
  if(parseInt(err.value) > 2){
  eg.$("regBtn").disabled = true;
  eg.$("regUnlock").style.display = "block";
  }
};


//解锁 显示注册按钮,隐藏解锁按钮
eg.unlock = function(){
  eg.$("regBtn").disabled = false;
  eg.$("regUnlock").style.display = "none";
}
  </script>

</body>
</html>
CocaCola... 2017-09-27
  • 打赏
  • 举报
回复
感谢你的回复,首先是我自己upwd命名重复,其次是button的id打错了:如下: var upwd=eg.$("userpwd"); var upwd=eg.$("userpwd2"); <input type="button" value="解锁" onClick="eg.unlock()" style="display:none;" id="regUnlock"> eg.$("reUnlock").style.display="block";

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧