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.