この関数では:
function ValidateForm()
{
var ret = true;
if ($("#txtName").val().trim().length == 0) { ret = false; $('#txtName').effect("highlight", {}, 1000); }
if ($("#txtSurname").val().trim().length == 0) { ret = false; $('#txtSurname').effect("highlight", {}, 1000); }
if ($("#txtUserName").val().trim().length == 0) { ret = false; $('#txtUserName').effect("highlight", {}, 1000); }
else {
var pData = {}; pData["username"] = $("#txtUserName").val();
$.ajax({
url: 'service.aspx?/isusernameexist/',
dataType: 'json',
type: "POST",
data: pData,
success: function (data) {
if (data[0].cnt > 0) {
ret = false; $('#txtUserName').effect("highlight", {}, 1000);
}
}
});
}
return ret;
}
新しいユーザーを挿入する前にフォームを検証しようとしていますが、ユーザー名が自由に使用できるかどうかを確認するのに時間がかかり、ValidateForm()
ajax リクエストが完了する前に関数が値を返します。
このような場合に ajax 機能を適切に実装するにはどうすればよいですか?