Possible Duplicate:
How to return the response from an AJAX call from a function?
I'm having a problem with this code.
when this function return FALSE, it works fine.
but if it return TRUE, it doesn't.
I want the form to be submitted when the function returns TRUE.
<form  action='register.php' method="post" onsubmit="return validate()" > ... </form>
here's the script
<script language="JavaScript">
function validate() 
{
    var toreturn = false;
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        var e = document.getElementById('e').value;
        var p = document.getElementById('p').value;
        var r = document.getElementById('r').value;
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                if(xmlhttp.responseText != "ok")
                {
                    document.getElementById("msg").innerHTML = xmlhttp.responseText;
                    $(function() {
                      $("#msg").hide().fadeIn("slow");
                    }, 3000);
                }
                else    toreturn = true;    
            }
        }
        xmlhttp.open("POST","register_validate.php");
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlhttp.send("e="+e+"&p="+p+"&r="+r);
        return toreturn;
}
</script>
 
     
    