0

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

4 に答える 4

2

javascriptに「IsEmpty」というメソッドはありますか? それが問題だと思います。他の場所で定義されている場合は、Firefox でコードを実行してみて、エラー コンソールでエラーを確認してください。

于 2013-02-21T04:47:43.533 に答える
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;
}
于 2013-02-21T04:51:11.900 に答える
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;
}

お役に立てれば!

于 2013-02-21T04:56:12.237 に答える
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;
    }
于 2013-02-21T05:01:29.493 に答える