Problema con el evento onkeydown bloquear todas las entradas excepto las numéricas, pero ¿permitir entrar para enviar el formulario?

Tengo problemas con un formulario que muestra resultados extraídos de una base de datos mysql, basados ​​en una cadena proporcionada por el usuario.

Un formulario de pedido, por así decirlo. Y en este formulario hay un campo de cantidad. Intenté usar javascript para bloquear todas las entradas excepto los valores numéricos. Sin embargo, junto con esto, he desactivado la funcionalidad de la tecla Intro.

Sé que este código clave es 23. Pero, ¿cómo permito que un usuario presione Intro para enviar el formulario, trabajando con el siguiente código:

onkeydown="return ( event.ctrlKey || event.altKey 
                || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false) 
                || (95<event.keyCode && event.keyCode<106)
                || (event.keyCode==8) || (event.keyCode==9) 
                || (event.keyCode>34 && event.keyCode<40) 
                || (event.keyCode==46) )"

Cualquier aportación con esto será muy apreciada, gracias.

preguntado el 27 de agosto de 11 a las 20:08

1 Respuestas

Creo que esto podría ayudarte:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function() {
                $('#numeric').keydown(function(e) {
                    return ((e.keyCode >= 48 && e.keyCode <= 57) || e.keyCode == 13)
                });
            });
        </script>
    </head>

    <body>
        <form method="post" action="">
            <input type="text" id="numeric" />
        </form>
    </body>
</html>

Respondido 28 ago 11, 00:08

Hola y gracias, pero parece haber algún tipo de error de sintaxis con esta línea: $('#numeric').keydown(function(e) { - Craig van Tonder

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.