가능한 중복 :
How to return the response from an AJAX call from a function?아약스 응답 자바 스크립트 함수 반환 오류
가이 코드에 문제가 있어요.
이 함수가 FALSE를 반환하면 올바르게 작동합니다.
그러나 TRUE를 반환하면 그렇지 않습니다.
TRUE를 반환 할 때 양식을 제출하고 싶습니다.
<form action='register.php' method="post" onsubmit="return validate()" > ... </form>
여기에 코멘트에서 언급 한 바와 같이, 당신은 비동기 코드에 문제가있는 스크립트를
<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>
은 ... 당신의 최선의 선택은 당신이 얻을 때 다시 제출 이벤트를 트리거하는 것입니다 응답. –