各位高手看看我这个代码哪里有问题?怎么改,谢谢……
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登录界面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script language="JavaScript">
function Validate()
{
//得到用户 输入的信息
userid=form.userid.value;
userpass=form.userpass.value;
//判断用户名的长度
if(!maxLength(userid,12))
{
alert("拥护名长度大于12!");
form.userid.focuse();
return false;
}
if(!maxLength(userpass,12))
{
alert("密码长度大于12!");
form.userpass.focuse();
return false;
}
//判断拥护名和密码是否一致
if(userid==userpass)
{
alert("拥护名和密码不能相同");
form.userpass.focuse();
return false;
}
return true;
}
//验证是否满足最小长度
function minLength(str,length)
{
if(str.length>=length)
return true;
else
return false;
}
function maxLength(str,length)
{
if(str.length<=length)
return true;
else
return false;
}
window.open("http://www.baidu.com","window2")
</script>
<body>
<form action="MyJsp2.jsp" onsubmit="return Validate();" method="post">
用户名:<input type="text" name="userid"><br>
密码:<input type="password" name="userpass"><br>
<input type="reset" value="重填" >
<input type="submit" value="确定">
</form>
</body>
</html>
搜索更多相关主题的帖子:
代码
----------------解决方案--------------------------------------------------------
你出了问题,是不是表单验证没有反应
----------------解决方案--------------------------------------------------------
程序代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登录界面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script language="JavaScript">
function Validate()
{
//得到用户 输入的信息
userid=document.form.userid.value;
userpass=document.form.userpass.value;
//判断用户名的长度
if(!maxLength(userid,12))
{
alert("用户名长度大于12!");
document.form.userid.focus();
return false;
}
else if(!maxLength(userpass,12))
{
alert("密码长度大于12!");
document.form.userpass.focus();
return false;
}
//判断拥护名和密码是否一致
else if(userid.equals(userpass))
{
alert("拥护名和密码不能相同");
document.form.userpass.focus();
return false;
}
return true;
}
//验证是否满足最小长度
function minLength(str,length)
{
if(str.length>=length)
return true;
else
return false;
}
function maxLength(str,length)
{
if(str.length<=length)
return true;
else
return false;
}
window.open("http://www.baidu.com","window2")
</script>
<body>
<form action="MyJsp2.jsp" method="post" name="form">
用户名:<input type="text" name="userid"><br>
密码:<input type="password" name="userpass"><br>
<input type="reset" value="重填" >
<input type="submit" value="确定" onClick="return Validate()">
</form>
</body>
</html>
修改后的代码
----------------解决方案--------------------------------------------------------
大哥,我切实的运行了一下。
怎没length没有赋值,所以下边的方法不能调用
function minLength(str,length)
{
if(str.length>=length)
return true;
else
return false;
}
function maxLength(str,length)
{
if(str.length<=length)
return true;
else
return false;
}
----------------解决方案--------------------------------------------------------
还有就是用
if(userid==userpass)
{
alert("拥护名和密码不能相同");
form.userpass.focuse();
return false;
}
验证用户名与密码是否一致
但是用下面这个怎么不行呢
if(userid.equals(userpass))
{
alert("拥护名和密码不能相同");
document.form.userpass.focus();
return false;
}
----------------解决方案--------------------------------------------------------
回复 5楼 刘易斯
==和equal的用法不一样,一个是比较内容是否相同,一个是比较是否相同引用。java中是这样的,JavaScript可能用法也相同,所以导致结果不一样。
----------------解决方案--------------------------------------------------------
回复 6楼 冰雪天
我看了一下,==是用来判断两个字符引用是否一致,而equal是判断两个字符内容是否一样所以在网页中验证两个字符应该用equal,而不用==
但是我运行的结果怎么正好相反
----------------解决方案--------------------------------------------------------
回复 7楼 刘易斯
查了下,javascript中没有equals方法,必须通过编程实现,javascript中“==”用于比较内容是否相同,“===”用于比较对象是否相同,所以var in1 = "123" ;var in2 = "123";in1 == in2,结果是true,特别需要说明的是此处in1 === in2,结果也是true,因为两者都是变量池中的
同一变量的引用,也就是二者指向同一变量。需用new运算符对in2赋值,即var in2 = new String("123"),再比较in1 === in2 ,结果为false;
----------------解决方案--------------------------------------------------------
回复 8楼 冰雪天
谢谢,冰雪天。长知识了……
----------------解决方案--------------------------------------------------------