onclick="return checkForm()"

<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()" 注册的错误格式还会继续提交给服务器

第1个回答  2009-11-19
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本回答被提问者采纳
第2个回答  2009-11-19
<input type="submit" class="buttom" value="注册" onclick="return checkForm()"/>
其中type="submit"改为type="button"就可以了
相似回答