I am using JavaScript to validate some form fields. My question is about the code inside
$("#alias").keyup(function(){
This is my script for the validation:
<script type="text/javascript">
$(document).ready(function(){
console.log("principio");
// Setup the ajax indicator
    // Ajax activity indicator bound to ajax start/stop document events
$(document).ajaxStart(function(){ 
  $('#ajaxBusy').show(); 
}).ajaxStop(function(){ 
  $('#ajaxBusy').hide();
});
//control de alias
    $("#alias").keyup(function(){
        var ID=$("#alias").val();
        var REST=$("#rest").val();
        var ACTUAL = "<?php echo $row_Recordset1['alias_mesero']?>";
        $.post("check_username_edit.php", { username: ID, rest: REST, actual: ACTUAL},
                function(result){
                    console.log(result);
                    //if the result is 1
                    if(result == 1){
                        document.getElementById('mensajealias').innerHTML ="Nombre corto disponible";
                          document.getElementById('boton').style.visibility='visible'; // hide 
                             document.getElementById('mensajeboton').innerHTML ="Ahora puede insertar los datos";
                    }
                    else if(result == 2){
                        document.getElementById('mensajealias').innerHTML ="No ha modificado el nombre corto";
                          document.getElementById('boton').style.visibility='visible'; // hide 
                             document.getElementById('mensajeboton').innerHTML ="Ahora puede insertar los datos";
                    }
                    else if(result == 0){
                          document.getElementById('mensajealias').innerHTML ="Nombre corto no disponible, ya existe";
                           document.getElementById('boton').style.visibility='hidden'; // hide 
                             document.getElementById('mensajeboton').innerHTML ="No se puede insertar hasta que no modifique los datos";
                    }
            });
    });
//control de rest
    $("#rest").change(function(){
        var ID=$("#alias").val();
        var REST=$("#rest").val();
        var ACTUAL = "<?php echo $row_Recordset1['alias_mesero']?>";
        $.post("check_username_edit.php", { username: ID, rest: REST, actual: ACTUAL},
                function(result){
                    console.log(result);
                    //if the result is 1
                    if(result == 1){
                        document.getElementById('mensajealias').innerHTML ="Nombre corto disponible";
                          document.getElementById('boton').style.visibility='visible'; // hide 
                             document.getElementById('mensajeboton').innerHTML ="Ahora puede insertar los datos";
                    }
                    else if(result == 2){
                        document.getElementById('mensajealias').innerHTML ="No ha modificado el nombre corto";
                          document.getElementById('boton').style.visibility='visible'; // hide 
                             document.getElementById('mensajeboton').innerHTML ="Ahora puede insertar los datos";
                    }
                    else if(result == 0){
                          document.getElementById('mensajealias').innerHTML ="Nombre corto no disponible, ya existe";
                           document.getElementById('boton').style.visibility='hidden'; // hide 
                             document.getElementById('mensajeboton').innerHTML ="No se puede insertar hasta que no modifique los datos";
                    }
            });
    });
});
</script>
If the user enters the text character by character, the validation takes place like a charm. But I have detected that if the user enters the text very quickly, then sometimes the validation doesn't return the right value.
I guess I could use change(function) instead of keyup(function), but I would prefer that the user doesn't have to leave the field to be validated.
Any advice is welcome.
 
     
    