Javascript check of a form, not waiting for ajax response

Posted by Y.G.J on Stack Overflow See other posts from Stack Overflow or by Y.G.J
Published on 2010-05-25T09:21:08Z Indexed on 2010/05/25 9:41 UTC
Read the original article Hit count: 297

Filed under:
|
|

this is a part of the check in my form

function check(theform) {
var re = /^\w[0-9A-Za-z]{5,19}$/;
if (!re.test(theform.username.value)) { 
    alert("not valid username");
    theform.username.focus();
    return false;
}

$.ajax({
    type: "POST",
    url: "username.asp",
    data: "username="+theform.username.value,
    success: function(msg){
        username = msg;
        if (!username) {
            alert("username already in use");
            return false;
        }
    }
});

var re = /^\w[0-9A-Za-z]{5,19}$/;
if (!re.test(theform.password.value)) { 
    alert("not valid password");
    theform.password.focus();
    return false;
}
}

for some reason of sync... it check the username then duplicated username with the ajax and not waiting for respond and jump to the password check.

i don't want to insert the rest of the code to isreadystate (or what ever it is) because i might move the username duplicate check to the end... and then the function will end before the ajax anyway

what should i do?

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery