以下のコーディングから、一部のデータが間違っている場合、false を警告します。確認された pw がパスワードと同じでない場合は正常に機能します。ただし、loginID チェックに問題があると思われる場合は、. true789 false false123 false456 をそれぞれ警告します。結果が false123 false456 false789 false ではないのはなぜですか? jsonからの遅延のため?それを解決する方法は?
var result = "true";
$('#test').click(function(){
validation();
alert(result);
});
function validation(){
result = "true";
var loginID = $("#loginID").val();
var role = $("#role").text();
// check Login Name
if (loginID == "" || loginID == null){
$('#errorID').empty();
$('#errorID').append(
'<h6>' + "The Login Name cannot be empty" + '</h6>'
);
$("#errorID").show();
result="false";
} else {
$.ajax({
type: "GET",
dataType: "jsonp",
jsonpCallback: "jsoncallback",
data: {
ID: loginID,
role: role
},
url: "http://mydomain.com/checkID.php?jsoncallback=?",
success: function(data){
if (data[0].data.user_name!=""){
result="false";
alert(result+"123");
$('#errorID').empty();
$('#errorID').append(
'<h6>' + "The Login Name " + data[0].data.user_name +
" is used." + '</h6>'
);
$("#errorID").show();
alert(result+"456");
}
},
error: function(jqXHR, textStatus, errorThrown){
alert("Request failed: " + textStatus + errorThrown);
result="false";
}
}); //end of ajax
}
alert(result+"789");
return result;
} // end of #validation