一个网页的通用验空校验,为空的时候是没有问题,可是为什么不为空的时候会报错呢?
function CheckNeed(num){//通用验空模块
for(var i = 0;i <= num.length; i++){
if(document.getElementById(num[i]).value ==""){
document.getElementById(num[i]+"1").innerHTML="不能为空!";
document.getElementById(num[i]).focus();
return false;
}
}
}function cou(){//课程为空添加校验
var num = new Array("course");
if(!CheckNeed(num)){
return false;
}
}function adm(){//管理员添加校验
var num = new Array("uid","pwd");
if(!CheckNeed(num)){
return false;
}
}function log(){//登陆验证码
var num = new Array("uid","pwd");
if(!CheckNeed(num)){
return false;
}
if(document.getElementById("chk1").innerHTML!=document.getElementById("chk").value){
alert("验证码输入不正确!");
return false;
}
}

解决方案 »

  1.   

    是不是log这个函数的原因 。
    你return 了  之后的代码就不会执行了 。
      

  2.   

    我只是希望return false之后,不执行后面的代码,这个目的达到了,当文本框为空的时候就可以实现,可是在文本框输入信息的时候,也就是应该校验通过的时候它报错了。
      

  3.   

    很明显啊  当文本不为空的时候:
    function CheckNeed(num){//通用验空模块
        for(var i = 0;i <= num.length; i++){
                if(document.getElementById(num[i]).value ==""){
                    document.getElementById(num[i]+"1").innerHTML="不能为空!";
                    document.getElementById(num[i]).focus();
                    return false;
                }
        }
    }
    很明显没有返回值,就会导致if(!CheckNeed(num))无法确定是否为真!
    所以你最好在下面加一句:
    function CheckNeed(num){//通用验空模块
        for(var i = 0;i <= num.length; i++){
                if(document.getElementById(num[i]).value ==""){
                    document.getElementById(num[i]+"1").innerHTML="不能为空!";
                    document.getElementById(num[i]).focus();
                    return false;
                }
        }
    return true;}
      

  4.   

    return true的方法我试过了,行不通,还是报那个错,所以我才把它删掉的
      

  5.   

    报什么错都没有说,怎么帮你!
    我觉得上面那个return true应该是要加才对function cou(){//课程为空添加校验
        var num = new Array("course");
        if(!CheckNeed(num)){
            return false;
            }
        else{return true;}
    }
    这里我觉得也应该加
      

  6.   

    document.getElementById(num[i]+"1").innerHTML="不能为空!";document.getElementById(num[i]+"1")这个 有么 ?
      

  7.   

    有,那个是在网页里面输入文字的。
    哎呀,上网本运行不了myeclipse,要明天去上机才可以运行
      

  8.   

    一下是网页的代码,高手帮忙看看啊,id什么的都没什么问题,我的是网本,运行不了,很麻烦啊
    本来应该文本框不为空是可以运行通过的,可是现在不为空是报错。
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    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="css/com.css">
    <script type="text/javascript" src="js/checkneed.js"></script>
      </head>
      
      <body>
        <table width="700" border="0" align="center" cellspacing="0" background="resource/02.jpg">
       <tr>
         <td width="148"><br></td>
         <td>&nbsp;</td>
       </tr>
       <tr>
         <td>&nbsp;</td>
         <td><a href="admin/index.jsp">首页</a> | <a href="admin/admin02.jsp">管理员管理</a> | <a href="admin/admin03.jsp">校务管理</a>| <a href="admin/admin04.jsp">教师管理</a> | <a href="admin/admin05.jsp">学生管理</a></td>
       </tr>
       <tr>
         <td>&nbsp;</td>
         <td>&nbsp;</td>
       </tr>
    </table>
    <table width="400" border="0" align="center" cellspacing="0">
          <tr class="bg3">
            <td colspan="3"><div align="center"><a href="admin/admin02add.jsp">管理员添加</a> | <a href="admin/admin02.jsp">管理员编辑</a> | <a href="admin/admin02del.jsp">管理删除</a></div></td>
          </tr>
          
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
        </table>
        <form method="post" action="servlet/adminadd" onsubmit="return adm()">
        <table width="400" border="0" cellspacing="0" align="center">
         <tr>
         <td colspan="3">
         <%
        
          %>
         </td>
         </tr>
          <tr>
            <td width="119"><div align="right">用户名:</div></td>
            <td width="174"><input type="text" name="uid" title="用户名" maxlength="10" />&nbsp;</td>
            <td width="101" id="uid1">&nbsp;</td>
          </tr>
          <tr>
            <td><div align="right">密码:</div></td>
            <td><input type="password" name="pwd" title="密码" maxlength="10" />&nbsp;</td>
            <td id="pwd1">&nbsp;</td>
          </tr>
          <tr>
            <td><div align="right">教师权限</div></td>
            <td><input type="checkbox" name="teacher" value="1" />&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td><div align="right">一般权限</div></td>
            <td><input type="checkbox" name="normal" value="1" />&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
           <td colspan="3"><div align="center">管理员备注</div></td>
          </tr>
          <tr>
           <td colspan="3" align="center">
             <textarea cols="50" rows="10" name="text">
                </textarea>
           </td>
          </tr>
          <tr>
            <td colspan="3"><div align="center">
              <input type="reset" value="重置" />
              <input type="submit" value="提交" />
            &nbsp;</div></td>
          </tr>
          <tr>
           <td colspan="3" align="center">
           <%
           if("ok".equals(request.getParameter("msg"))){
           out.print("添加成功!");
           }
           if("used".equals(request.getParameter("msg"))){
           out.print("用户名已使用!");
           }
           if("error".equals(request.getParameter("msg"))){
           out.print("发生未知错误!");
           }
            %>
           </td>
          </tr>
        </table>
        </form>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
      </body>
    </html>