자바 스크립트 기능에 문제가 있습니다. 나는 jquery ajax를 사용하여 입력 한 사용자 이름이 다른 사용자가 사용했는지 (데이터베이스 확인을 통해) 사용되었는지 확인하는 등록 양식을 가지고 있습니다. 제출 버튼을 누른 후 "validateMyForm()"- 내 javascript function-이 호출되어 입력을 검증합니다. 내 jquery 아약스도 포함되어 있습니다 (내 코드를 볼 수 있습니다). "validateMyForm()"함수의 반환 값이 true이면 폼이 게시됩니다 (일반적인 방법으로 아약스 방식으로). 입력 한 사용자 이름이 어느 것과도 일치하지 않으면 내 양식을 게시하고 다른 사용자가 사용자 이름을 사용하면 게시하고 싶지 않습니다. 하지만 제출 버튼을 누르면 함수는 "$. post"섹션을 건너 뛰고 항상 true를 반환합니다. 도와 주시겠습니까?jquery ajax in PHP 레지스터 양식
<form method="post" action="signup.php" önsubmit="return validateMyForm();" id="formtag">
<input id="username" name="username" class="input-text" type="text"/>
<input type="submit" name="submit1" id="register" value="Register" />
</form>
그리고 내 자바 스크립트 함수는 다음과 같습니다 :
내 PHP 코드는 비동기 호출을하기 때문에
function validateMyForm() {
var returnedVal = true;
//get username input text
.
.
.
$.post('ajax/checkUsername.php',{ username:username },function(data){
//Checking that entered username is used by another person or no
.
.
.
if(is used by another)
returnedVal= false;
else
ShowError;
}, "json");
return returnedVal;
}
마찬가지로 Tobiass는 반환을 기다려야한다고했습니다. 내가 뭘 할 것이라고 입력 버튼 (제출하지 않음)를 통해 기능을 호출하고 그때 내가 사실을 반환하는 경우 자바 스크립트를 사용하여 양식을 제출합니다. – Banning
제공되는 코드를 $ (document) .ready (function() { –
원한다면 예를 들어 Ajax 요청을 처리하는 방법에 대한 예입니다. –