当前位置: 代码迷 >> Java Web开发 >> 各位高手看看我这个代码哪里有问题?怎么改,谢谢……
  详细解决方案

各位高手看看我这个代码哪里有问题?怎么改,谢谢……

热度:165   发布时间:2010-11-25 17:21:18.0
各位高手看看我这个代码哪里有问题?怎么改,谢谢……
<%@ 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楼 冰雪天
谢谢,冰雪天。
长知识了……
----------------解决方案--------------------------------------------------------
  相关解决方案