Ajuda Jquery e PHP... Com a cabeça às voltas....

Boas...

Tenho um formulário de registo no qual faço a validação do nome de utilizador em tempo real com Jquery. À medida que vamos preenchendo os campos vamos fazendo a validação e caso seja correcta mudamos o Focus() para o campo seguinte, caso seja incorrecta o focus() mantém-se no campo actual até ser introduzido correctamente.

Funciona bem em todos os campo com exceção do campo "utilizador" que para além de validar o campo, verifica na bd se o utilizador já existe. Funciona corretamente, só que quando encontra que o utilizador já existe na BD pretendo que o focus() se mantenha no campo e salta sempre para o campo seguinte. Já estou de olhos em bico e não consigo resolver... deixo o código.

javascript

Código :
$(document).ready(function(){
$("#utilizador").blur(function() {
$('#status').html('<img src="http://127.0.0.1/EasyStudy/images/loading.gif" align="absmiddle">&nbsp;Checking availability...');
var usr = $("#utilizador").val();
if (usr == ''){
$("#utilizador").focus();
$('#status').html('Preenchimento Obrigatorio');

}else{
$.get("registo.php", {utilizador: usr}, function(resposta){
$("#status").html(resposta);
});
}

});

});


registo.php

Código :
if(isset($_REQUEST['utilizador'])) {
$username = $_REQUEST['utilizador'];

// echo $username;
$sql_check = mysqli_query($con,"SELECT * FROM login WHERE utilizador ='".$username."'")
or die(mysqli_error());

if(mysqli_num_rows($sql_check)) {
echo "Utilizador em uso!";
echo "<script>$('#utilizador').focus();return false;</script>";
die();

} else {
echo 'OK';
die();
}


}


formulario

Código :
<tr>
<td>

<label>Utilizador</label>
<br>
<input id="utilizador" name="utilizador" type="text" maxlength="12" size="40" /><span id="status" class="erro"></span>
</td>
</tr>

<tr>
<td>
<label>Password</label>
<br>
<input id="senha" name="senha" type="password" maxlength="12" size="40" />
<span id="statussenha" class="erro"></span>
</td>
</tr>


Alguém que me ajude por favor...
 
tira isto do registo.php
echo "<script>$('#utilizador').focus();return false;</script>";

e coloca no teu js :

else{
$.get("registo.php", {utilizador: usr}, function(resposta){
$("#status").html(resposta);
if(resposta=='Utilizador em uso!') $('#utilizador').focus();
});

:)
 
Back
Topo