JAVASCRIPT 判断注册不起作用

我想让如果用户名没设或者密码没设的不提交。代码如下:
<script type="text/javascript">
function trim(s){
return s.replace(/^\s*/,"").replace(/\s*$/,"");
}
function check(){

var form = document.forms[0];
var errstr="";

if(trim(form.userName.value) == null || trim(form.userName.value) == ""){
errstr="用户名不能为空";
alert(errstr);

return false;
}
return false;
else if(form.userPassword.value == ""){
errstr="密码不能为空";
alert(errstr);

return false;
}
else return false;

}

</script>

</head>

<body>
<%@include file="menubar.jsp" %>
<%@include file="Msg.jsp" %><%--

<%
String user2 = ((User)session.getAttribute("loginUser")).getUserName();
FileManagerException msg = null;
if(user2.length()!= 0){
msg = new FileManagerException("你已经登陆,不能再注册");
request.setAttribute("msgkey",msg);
%>

<%
}
else{
%>

--%>

<form action="register" method="post" onsubmit="return check(this)">
<table width="50%" border="0" align="center">
<tbody>
<tr>
<td colspan="2"><div align="center">用户注册</div></td>
</tr>
<tr>
<td >学号</td>
<td>
<input type="text" name="userId" maxlength="50" size="50" >
</td>
</tr>
<tr>
<td >姓名(字数小于10)</td>
<td>
<input type="text" name="userName" maxlength="50" size="50" id="userName" >
</td>
</tr>
<tr>
<td >邮件(字数小于50)</td>
<td>
<input type="text" name="userMail" maxlength="50" size="50" >
</td>
</tr>
<tr>
<td >密码(字数小于50)</td>
<td>
<input type="password" name="userPassword" maxlength="50" size="50" id="userPassword">
</td>
</tr>
<tr>
<td >密码确认</td>
<td>
<input type="password" name="passwordConfig" maxlength="50" size="50" >
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top">
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</td>
</tr>

</tbody>
</table>

</form>

但是他会显示出对话框,但还是提交了~这是为什么呀?谢谢。额,貌似财富没了~~不好意思哈~

你javascript 里面有错误 所以还是提交了。。

if(trim(form.userName.value) == null || trim(form.userName.value) == ""){
errstr="用户名不能为空";
alert(errstr);

return false;
}else if(form.userPassword.value == ""){
errstr="密码不能为空";
alert(errstr);

return false;
}

去掉了 return fasle 和 else return false;你试试看。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-11
你要是在当前页提交
<form action="" name="form1" method="post" onsubmit="check();">

function check(){
if(form1.userName.value==""||form1.userPassword.value==""){
alert("提示内容");
return false;
}else{
alert("通过验证并提交");
}
}
第2个回答  2010-06-11
我有点儿眩晕,你这是JSP还是ASP呀?
还有就是你表单的onsubmit里边写的函数格式,跟你声明的也不一样呀。你onsubmit里边的带参数了,声明的时候是没有参数的。
第3个回答  2010-06-11
个人认为 onsubmit="return check(this)"改成onsubmit="check(this)"

如果还不行,那就把onsubmit改成onclick;

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网