为何用js验证表单无效后后依然跳转?

代码如下,在未填用户名或密码情况下会提示对话框,但依旧会跳转到后台php进行处理。<head><metahttp-equiv="Content-Type"content=... 代码如下,在未填用户名或密码情况下会提示对话框,但依旧会跳转到后台php进行处理。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>三国杀</title>
<link rel="stylesheet" href="index.css">
<script language="javascript">
function check_name()
{
if(index_div_log_form.user_name.value == "")
{
alert("请输入用户名!");
return false;
}
else if(index_div_log_form.user_password.value == "")
{
alert("请输入密码!");
return false;
}
else
{
confirm("确认提交?");
return true;
}
}

</script>
</head>
<body>
<form id="index_div_log_form" method="post" action="check_user.php" onSubmit="check_name()">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" id="user_name" name="user_name" ></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" id="user_password" name="user_password"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" id="yes" name="yes" value="确定" >
<input type="reset" id="reset" name="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
哈哈,问题解决了。
把 onSubmit="check_name()" 改成 onSubmit="return check_name();" 就可以了。照着网上改的。。。谁知到原理,给讲讲?
展开
 我来答
百度网友a19d193
2013-05-16 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1441万
展开全部
onSubmit应该写成onsubmit,另外
confirm("确认提交?");
return true;
应该改成
return confirm('确认提交');

为什么onsubmit="return check_name()",不好解释,你就记住return false可以阻止事件发生就行了,不论是onsubmit还是onclick(例如<a href='...' onclick="return false">这样就无法跳转了)。对于onsubmit我推荐的代码是onsubmit="try{return check_name();}catch(e){alert(e.message);return false;}"
809063338
2015-09-08 · 超过21用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:36.4万
展开全部
验证js写得有问题。对于验证 你首先得先禁用提交按钮 使之对用户点击无效 只要当验证全部通过了 才用js把提交按钮用过js设置成用户可用 而验证失败跳转可能就是执行了浏览器默认动作, 你可以通过 return false 来阻止 或者通过 stopPropagation
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f47c168
2013-05-16 · TA获得超过124个赞
知道答主
回答量:130
采纳率:0%
帮助的人:92.1万
展开全部
form表单有默认的行为,return false可以终止这种默认行为,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
币宝宝
2013-05-16 · 超过32用户采纳过TA的回答
知道答主
回答量:179
采纳率:0%
帮助的人:98.1万
展开全部
把check_name()写在确定按钮的onclick里面试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式