关于js验证错误依旧跳转的问题,在线等。。上次问过一次i了,但是老师的代码可以运行啊,我不知道问题在哪

<script>functionchecked(){varusername=document.getElementById("username").value;varpa... <script>
function checked(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var cofpassword = document.getElementById("cofpassword").value;
var error_msg = "";
var result = true;
if(username.length!=8){
error_msg = addALine(error_msg, "用户名必须为8位长度");
result = false;
}
if(password.length!=6){
error_msg = addALine(error_msg, "密码必须为6位长度");
result = false;
}
if(!cofpassword.equals(password)){
error_msg = addALine(error_msg, "密码不一致!");
result = false;
}
if(!result){
var object_msg = document.getElementById("error_msg");
object_msg.innerHTML = error_msg;
}
return result;

}</script>
</head><body>
<form action="regedit" method="post" onSubmit="return checked();">
<div align="center">
<table border="0">
<tr>
<td colspan="2">
<div id="error_msg"></div>
</td>
</tr>
<tr>
<td width="80">用户名:</td>
<td width="189"><label>
<div align="left">
<input type="text" name="username" id="username" />
</div>
</label></td>
</tr>
<tr>
<td>密码:</td>
<td><label>
<div align="left">
<input type="password" name="password" id="password" />
</div>
</label></td>
</tr>
<tr>
<td>确定密码:</td>
<td><label>
<div align="left">
<input type="password" name="cofpassword" id="cofpassword" />
</div>
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<div align="center">
<input type="submit" name="button" id="button" value="注册" />
<input type="reset" name="button" id="button" value="重置" />
</div>
</label></td>
</tr>
</table>
</div>
</form></body></html>
展开
 我来答
飞上天Go
推荐于2016-10-29 · TA获得超过182个赞
知道小有建树答主
回答量:242
采纳率:70%
帮助的人:167万
展开全部
把你的代码全贴出来哦 ,addALine 方法等。
你看下你的代码执行过程:
!result 的值是什么呢? 这个过程它的值是什么呢
刚开始result = true,那 !result=false,是这样吗?
但是当你输入出错的时候 你result 的赋值又变成 result = false 那就是 !result=true
!result 可能是真,可能是假,那这个到底是什么时候执行呢?这个是无效判断。
if(!result)
{
var object_msg = document.getElementById("error_msg");
object_msg.innerHTML = error_msg;
}

修改,不懂再联系我哦
<script>
function checked(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var cofpassword = document.getElementById("cofpassword").value;
var error_msg = "";
var result = true;
if(username.length!=8){
error_msg = addALine(error_msg, "用户名必须为8位长度");
result = false;
}
if(password.length!=6){
error_msg = addALine(error_msg, "密码必须为6位长度");
result = false;
}
if(!cofpassword.equals(password)){
error_msg = addALine(error_msg, "密码不一致!");
result = false;
}
if(result==false){
var object_msg = document.getElementById("error_msg");
object_msg.innerHTML = error_msg;
}
return result;

}</script>
</head><body>
<form action="regedit" method="post" onSubmit="return checked();">
<div align="center">
<table border="0">
<tr>
<td colspan="2">
<div id="error_msg"></div>
</td>
</tr>
<tr>
<td width="80">用户名:</td>
<td width="189"><label>
<div align="left">
<input type="text" name="username" id="username" />
</div>
</label></td>
</tr>
<tr>
<td>密码:</td>
<td><label>
<div align="left">
<input type="password" name="password" id="password" />
</div>
</label></td>
</tr>
<tr>
<td>确定密码:</td>
<td><label>
<div align="left">
<input type="password" name="cofpassword" id="cofpassword" />
</div>
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<div align="center">
<input type="submit" name="button" id="button" value="注册" />
<input type="reset" name="button" id="button" value="重置" />
</div>
</label></td>
</tr>
</table>
</div>
</form></body></html>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yam7308
2012-06-20 · TA获得超过185个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:207万
展开全部
addALine这个方法在哪里定义的呢?这个方法都没有,肯定出错啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
v_dan
2012-06-20 · TA获得超过223个赞
知道小有建树答主
回答量:194
采纳率:50%
帮助的人:120万
展开全部
你的addALine方法写的什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式