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
banale html; nella stessa pagina importo lo script seguentecodice:<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>
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;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; } } }); }); });
mi sapreste dire gentilmente dove sbaglio?
Grazie infinite.

Rispondi quotando