0

I wrote a java script code in a JSP page,But when i try to submit the Page, my javascript validation code is not getting fired,Could any one help me what went wrong?

Here My Code:

<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>
2
  • 1
    look for errors in console. I suggest you to use chrome, it has great developer console. Commented Feb 21, 2013 at 4:48
  • 1
    Open you IE Dev toolbar and check for the error it gives. I think the issue is with IsEmpty() Commented Feb 21, 2013 at 4:54

4 Answers 4

2

is there a method "IsEmpty" in javascript? I think that's the problem. If you have that defined in some other place, try running your code in Firefox and watch Error Console for errors.

Sign up to request clarification or add additional context in comments.

Comments

1

Looks like a logical error to me. Try replacing this:

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;


}

with:

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;
}

Comments

1

Do the validation this way

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

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

Hope this helps!

Comments

1

this is the working modified code

  <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;
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.