js在jsp里不生效!!!!!
如题,附上两个文件的代码,实在找不出问题,求解答!
register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>用户注册</title>
<script language=JavaScript src="script/regcheckdata.js"></script>
</head>
<body>
<form name="form" action="register.jsp" method="get" onSubmit="return checkdata()">
<input type=hidden name="action" value=register>
<table width="750" align="center" border="2">
<tr>
<td colspan="2" align="center">用户注册</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type=text name="username" size="30" maxlength="12"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type=password name="password" size="30" maxlength="12"></td>
</tr>
<tr>
<td>密码确认:</td>
<td><input type=password name="password2" size="30" maxlength="12"></td>
</tr>
<tr>
<td>电话:</td>
<td><input type=text name="phone" size="15" maxlength="12"></td>
</tr>
<tr>
<td>地址:</td>
<td><textarea rows="12" cols="80" name="addr"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="提交">
<input type="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
.js
function checkdata(){
var ssn=form.username.value.toLowerCase();
if(!checkUserName(ssn)) return false;
if(strlen(form.password.value)<6 || strlen(form.password.value)>16 ){
alert("登录密码长度为6-16位,仅可用字母,数字,特殊字符!");
form.password.focus();
return false;
}
if(strlen2(form.password.value)){
alert("密码包含非法字符,仅可用字母,数字,特殊字符!");
}
if(form.password.value == form.username.value){
alert("用户名和密码不能相同!");
form.password.focus();
return false;
}
if(form.password2.value == ""){
alert("请输入确认密码!");
form.password2.focus();
return false;
}
if(form.password.value == form.password2.value){
alert("两次输入的密码不一致!");
form.password.focus();
return false;
}
if(form.phone.value == ""){
alert("请输入电话!");
form.phone.focus();
return false;
}
if(form.addr.value == ""){
alert("地址不能为空!");
form.addr.focus();
return false;
}
return true;
}
function checkUserName(ssn){
if(ssn.length<3 || ssn.length>18){
return true;
}
}
[最优解释]
为什么没用呢,为什么没用呢!楼主你function checkUserName(ssn){
if(ssn.length<3
[其他解释]
strlen()?
[其他解释]
if(checkUserName(ssn)) return false;
[其他解释]
document.getElementsByName("form")[0]
[其他解释]
你在没有获得到form元素,
另外你的命名有问题,form存在冲突
建议给form,保单元素用id标志。
var form1 = document.getElementById("form1")
哪有命名冲突?
加上这句也不行var form = document.getElementById("form");
[其他解释]