
onclick="return checkForm()"
<html><head><scriptlanguage="javascript">functioncheckForm(){varusername=document.get...
<html>
<head>
<script language="javascript">
function checkForm(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var dpassword = document.getElementById("dpassword").value;
if(username.length<6 || username.length>12){
alert("提示:\n\n用户名称必须大于6位,小于12位!");
document.getElementById("username").value = "";
document.getElementById("username").focus();
return false;
}
if(password.length<6 || password.length>12){
alert("提示:\n\n密码必须大于6位,小于12位!");
document.getElementById("password").value = "";
document.getElementById("password").focus();
return false;
}
if(dpassword.length<6 || dpassword.length>12){
alert("提示:\n\n密码必须大于6位,小于12位!");
document.getElementById("dpassword").value = "";
document.getElementById("dpassword").focus();
return false;
}
if(password != dpassword){
alert("提示:\n\n两次输入的密码不同!");
return false;
}
}
</script>
</head>
<body>
<form action="RegisterServlet" method="post">
<div class="fielddiv">
<label>
用户名:
</label>
<input type="text" name="username"/>
</div>
<div class="fielddiv">
<label>
密 码:
</label>
<input type="password" name="password" />
</div>
<div class="fielddiv">
<label>
重复密码:
</label>
<input type="password" name="dpassword"/>
</div>
<div class="center">
<input type="submit" class="buttom" value="注册" onclick="return checkForm()"/>
<input type="reset" class="buttom" value="清空"/>
</div>
</form>
</body>
</html>
为什么onclick中要加上return才能判断成功 才不会继续运行下去 为什么直接写onclick="checkForm()" 注册的错误格式还会继续提交给服务器 展开
<head>
<script language="javascript">
function checkForm(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var dpassword = document.getElementById("dpassword").value;
if(username.length<6 || username.length>12){
alert("提示:\n\n用户名称必须大于6位,小于12位!");
document.getElementById("username").value = "";
document.getElementById("username").focus();
return false;
}
if(password.length<6 || password.length>12){
alert("提示:\n\n密码必须大于6位,小于12位!");
document.getElementById("password").value = "";
document.getElementById("password").focus();
return false;
}
if(dpassword.length<6 || dpassword.length>12){
alert("提示:\n\n密码必须大于6位,小于12位!");
document.getElementById("dpassword").value = "";
document.getElementById("dpassword").focus();
return false;
}
if(password != dpassword){
alert("提示:\n\n两次输入的密码不同!");
return false;
}
}
</script>
</head>
<body>
<form action="RegisterServlet" method="post">
<div class="fielddiv">
<label>
用户名:
</label>
<input type="text" name="username"/>
</div>
<div class="fielddiv">
<label>
密 码:
</label>
<input type="password" name="password" />
</div>
<div class="fielddiv">
<label>
重复密码:
</label>
<input type="password" name="dpassword"/>
</div>
<div class="center">
<input type="submit" class="buttom" value="注册" onclick="return checkForm()"/>
<input type="reset" class="buttom" value="清空"/>
</div>
</form>
</body>
</html>
为什么onclick中要加上return才能判断成功 才不会继续运行下去 为什么直接写onclick="checkForm()" 注册的错误格式还会继续提交给服务器 展开
2个回答
展开全部
JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。
而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。
而直接执行时(不用return)。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作
详细说明如下:
例如:
当在 <a href="abc.htm" onclick="return add_onclick()">Open</a> 中
如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm
否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外
)
而 <a href="abc.htm" onclick="add_onclick()">Open</a>
不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm
而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。
而直接执行时(不用return)。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作
详细说明如下:
例如:
当在 <a href="abc.htm" onclick="return add_onclick()">Open</a> 中
如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm
否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外
)
而 <a href="abc.htm" onclick="add_onclick()">Open</a>
不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |