jsp跳转疑问
请问这段代码中在没有输入“密码”和“账户”时只要点击“登陆”后除了提示代码不能为空外,还会自动跳转到首页面,应该输入密码和用户名后在跳转啊!这是怎么回事啊?
<%@ page language="java" contentType="text/html; charset=GBK"
import="com.aptech.jb.entity.USER"
pageEncoding="GBK"%>
<script language="javascript">
function login(){
if( document.myForm.uname.value =="" ){
alert("用户名不能为空");
return false;
}else if(document.myForm.upass.value == ""){
alert("密码不能为空");
return false;
} else {
return true;
}
}
</script>
<%
if (session.getAttribute("user") != null) {
%>
<table align="center">
<tr>
<td width=''><font color='red'>当前用户:
<%
USER user = (USER) session.getAttribute("user");
%>
<%=user.getUname()%></font>
</td>
<td width='100'><a href="login.do?sign=logout">[注销]</a></td>
</tr>
</table>
<%
} else {
%>
<form action="login.do" method="post" name="myForm"onsubmit="login();">
<p> </p>
<table align="center">
<tr>
<td colspan="2">用户名:</td>
</tr>
<tr>
<td colspan="2"><input type="text" name="uname" size=10" class="editbox"></td>
</tr>
<tr>
<td colspan="2">密 码:</td>
</tr>
<tr>
<td colspan="2"><input type="password" name="upass" size=10" class='editbox'></td>
</tr>
<tr>
<td>
<input type="hidden" name="sign" value="login"/>
<input type="submit" value="登陆"onclick="login()" class='btn'>
<input type="reset" value="重置" class='btn'>
</td>
</tr>
<tr>
<td><a href="z.jsp">注册用户</a></td>
</tr>
<tr>
<td width='100'><a href="list.do">返回首页</a></td>
</tr>
</table>
</form>
<%
}
%>
------解决方案-------------------- 这个可能是你的验证方法返回的是true.
js改成这样
function login(){
if( document.myForm.uname.value =="" ){
alert("用户名不能为空");
return false;
}
if(document.myForm.upass.value == ""){
alert("密码不能为空");
return false;
}
return true;
}
另外把<form action="login.do" method="post" name="myForm"onsubmit="login();">
属性间要有空格,别连上 ,提交按钮上和表单事件 一处用即可
------解决方案--------------------把登陆后面的onclick事件去掉。
------解决方案--------------------这样写:
<