JSP Javascript验证无效

时间:2013-02-21 04:43:58

标签: javascript jsp

我在JSP页面中编写了一个java脚本代码,但是当我尝试提交页面时,我的javascript验证代码没有被解雇,任何人都可以帮我解决问题吗?

我的代码:

<html>
<center><h3>Employee Absent Report</h3></center>

<head>


<script language="javascript" type="text/javascript">


function onFormSubmit(){
    var countErrors = 0;

    var strDt=document.getElementById("startdate").value;

    var endDt=document.getElementById("todate").value;
    var flag=false;
    var eFlag = false;

    if (IsEmpty(strDt)==false && IsEmpty(endDt)==true ) {       
        document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
    return false;

    }

    if (IsEmpty(strDt)==true && IsEmpty(endDt)==false ) {       
        document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
        return false;


    }
    return true;
}
</script>
</head>
<body>
<form name="form" action="FormServlet" method="get" onsubmit="return onFormSubmit(); ">
<center>
<div id="formErrors" class="error"></div>       
FromDate:
<input type="text" name="startdate" id="startdate"/>
 <div id="divStartDate"></div>
<br>
ToDate:
<input type="text" name="todate" id="todate"/>
 <div id="divExpiryDate"> </div>
<br>
<input type="submit" value="submit"/>
</center>
</form>
</body>

</html>

4 个答案:

答案 0 :(得分:2)

javascript中有一个方法“IsEmpty”吗?我认为这就是问题所在。如果您已在其他位置定义,请尝试在Firefox中运行代码并观察错误控制台是否存在错误。

答案 1 :(得分:1)

对我来说看起来像是一个逻辑错误。尝试替换它:

if (IsEmpty(strDt)==false && IsEmpty(endDt)==true ) {       
    document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
return false;

}

if (IsEmpty(strDt)==true && IsEmpty(endDt)==false ) {       
    document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
    return false;


}

使用:

if (endDt.length==0) {       
    document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
return false;
}

if (strDt.length==0) {       
    document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
    return false;
}

答案 2 :(得分:1)

以这种方式进行验证

if (endDt === "") {       
    document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
    return false;
}

if (strDt === "" ) {       
   document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
   return false;
}

希望这有帮助!

答案 3 :(得分:1)

这是经过修改的代码

  <script>
    function onFormSubmit(event){
        var countErrors = 0;
        event.preventDefault();
        var strDt=document.getElementById("startdate").value;
        var endDt=document.getElementById("todate").value;
        var flag=false;
        var eFlag = false;
        if ( IsEmpty(endDt)==true ) {    
            document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
        eFlag = true ;
        }

        if (IsEmpty(strDt)==true  ) {    
            document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
            eFlag = true;
        }
        if(eFlag)
        {
            return false;
        }
        return true;
    }

    function IsEmpty(input)
    {
       if(input.replace(/^\s+|\s+$/g,"")    === "") {
           return true;
       }
      return false;
    }