Tengo esta función de jquery para validación, ¿cómo se puede cambiar para usar con eventos de pulsación de teclas?

function validate() {
        var stateID = $("#purpose").val();
            // var stateID = $(this).val();
        if (stateID == '') { 
              var validformula = true;
              var validweightq1 = true;
              var newpar = true;
              validformula = checkEmpty($("#formula"));
              validweightq1 = checkEmpty($("#weg"));
              newpar = checkEmpty($("#newparameter"));
                $("#btn-submit").attr("disabled",true);
              if(validweightq1 && validformula && newpar) {
                $("#btn-submit").attr("disabled",false);
                } 
        }

¿Cómo combinar con la pulsación de teclas?

$(document).ready(function() {
    $('#purpose').on('keypress', function(key) {})
})
1
Yandra Adie 12 nov. 2017 a las 07:29

2 respuestas

La mejor respuesta

Usted puede hacer que su función se ejecute cuando el evento keypress se activa con:

$("#purpose").on('keypress', validate);

Sin embargo, usar el evento keypress en una entrada de texto es generalmente una mala idea. No funciona en dispositivos móviles y no se activa cuando se presiona Retroceso o Eliminar o se pega o corta texto dentro o fuera de la entrada. Probablemente debería usar el evento input en su lugar:

$("#purpose").on('input', validate);
3
insert_name_here 12 nov. 2017 a las 04:52
$('#purpose').keyup(validate);
0
ethancrist 12 nov. 2017 a las 04:55