Salve a tutti. Premetto che non sono molto ferrato col javascript e un po' mi ostino a contemplarlo nonostante io riconosca le sue potenzialità.
Il mio problema è il seguente: sto realizzando un sistema di registrazione utente e per il form effettuo il controllo dei campi sul lato client. Sto inoltre usando jQuery.

L'html del form è il seguente

codice:
<form id="registrationform" action="dispatcher.php" method="post">
    <div class="formelem">
        <label for="email">email</label>
        <input type="text" name="email" />
        <span id="email" class="error" />
    </div>
    <div class="formelem">
        <label for="username">username</label>
        <input type="text" name="username" />
        <span id="username" class="error" />
    </div>
    <div class="formelem">
        <label for="password">password</label>
        <input type="password" name="password" />
        <span id="password" class="error" />
    </div>
    <div class="formelem">
        <label for="rpassword">conferma password</label>
        <input type="password" name="cpassword" />
        <span id="rpassword" class="error" />
    </div>
    <div class="formelem">
        <input type="submit" name="action" value="register" />
        torna alla home
    </div>
</form>
banale html; nella stessa pagina importo lo script seguente

codice:
username = false;
email = false;
password = false;
cpassword = false;
cango = false;

$(document).ready(function() {
    $('input[type=text]').blur(function() {
        var name = $(this).attr('name');
        var value = $(this).val();
    
        $.ajax({
            type: 'post',
            url: 'dispatcher.php',
            data: 'action=check&field=' + name + '&value=' + value,
            success: function(data) {
                if (data == 'ok' && name == 'email') {
                    email= true;
                }
                if (data == 'ok' && name == 'username') {
                    username = true;
                }
            }
        });
    });
});
il mio problema si verifica dentro il blocco della funzione success della chiamata ajax: nonostante riceva in data il valore ok le variabili globali username e email mi restano a false;
mi sapreste dire gentilmente dove sbaglio?
Grazie infinite.