为什么我点提交后,不进行JAVASCRIPT的验证,急帮解决
<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>用户注册</title>
<script language="javascript">
function IsDigit(cCheck)
{
return (('0'<=cCheck)&&(cCheck<='9'));
}
function IsAlpha(cCheck)
{
return((('a'<=cCheck)&&(cCheck<='z'))||(('A'<=cCheck)&&(cCheck<='Z')))
}
function IsValid()
{
var struserName=reg.UserName.value;
for (nIndex=0;nIndex<struserName.length;nIndex++)
{
cCheck=struserName.charAt(nIndex);
if(!(IsDigit(cCheck)||IsAlpha(cCheck)))
{
return false;
}
}
return true;
}function docheck()
{
if(document.reg.UserName.value == "")
{

alert("请填写用户名");
return false;
}
else if(!IsValid())
{
alert("用户名只能使用字母和数字");
return false;
}
else if(reg.UserPassword.value=="")
{
alert("请填写密码");
return false;
}
else
{
return true;
}
}
</script>
<STYLE type=text/css>
td,th{
font-family;Arial,Helvetica,sans-serif;
font-size:14PX;
line-height:24px;
color:#333333;
}
</STYLE>
</head>
<body>
<h1 align="center">用户注册<h1>
<div align="center">
<form name="login" action="homepage.jsp" method="post" target="_self" >
<table width="90%" border="0">
<tr>
<td width="50%" align="right" height="25"><font face="Arial,Helvetica,sans-serif">请输入用户名:</font></td>
<td width="50%" align="left" height="25">
&nbsp;<input type="text" name="UserName">
<br>
<font color="red">&nbsp;用户名只能由字母和数字组成</font>
</td>
</tr><tr>
<td width="50%" align="right" height="25">请输入密码:</td>
<td width="50%" align="left" height="25">&nbsp;<input type="password" name="UserPassword"></td>
</tr></table>
<p>
<input type="submit" name="tj" value="提交" onSubmit="return docheck()">
<input type="submit" name="sub" value="注册" onClick="login.action='user_ret.jsp'">
<input type="reset" name="res" value="重填"></p> 
</form>
</div>
</body>
</html>