16 noviembre 2006

Deshabilitar la tecla ENTER en los formularios

El día de hoy debía continuar con la implementación de una página en PHP, y me topé con el problema de siempre:

¿Cómo validar los datos de un formulario antes de enviarlos?

Pues bien. La respuesta ya era conocida -JavaScript. Debí cambiar el botón de tipo submit por uno de tipo button y asignarle la función de validación en el evento onClick.

Todo bien. Excepto por un pequeño detalle. Al navegador le importa poco si existe o no un botón submit, cuando se presiona la tecla enter en una casilla de tipo text el formulario envía los datos de manera automática.

La solución: más simple de lo que yo esperaba. Al principio pensé en una función encargada de filtrar las pulsasiones y lamarla en en el evento onKeypress de cada casilla de texto. Sin embargo navegando por la red me encontré con algo más simple.

<input type="text" name="nombre" onkeypress="return event.keyCode!=13">

...el único problema será cuando el navegador no tenga habilitado el JavaScript.