El problema
El uso de formularios en las páginas web es el método para que los visitantes nos envíen datos, o para que busquen páginas o palabras en nuestro sitio, o para que seleccionen opciones, etc. En todos vemos un botón para validar o enviar los datos que se hallan escrito, pero en ocasiones queremos que la tecla enter tenga el mismo efecto que este botón.

La solución

El botón de enviar o botón Submit básicamente lo que hace es llamar a la dirección que exista almacenada en el atributo action del formulario. Esta dirección habitualmente apunta a un programa CGI, pero también puede apuntar a una función Javascript.  Por lo que si queremos que el botón y la tecla enter tenga el mismo efecto basta con vincular el argumento action del formulario con una llamada a la función Javscript:

<form action="javascript:enviar()">

La función enviar deberá contener el código necesario para hacer aquello para lo que esté diseñado el formulario: enviar por correo, ir a una dirección, buscar en la página, etc.


Un caso práctico

Como ejemplo supongamos que queremos colocar un formulario para que el usuario introduzca un nombre para ir a una página determinada

<form name="form1" method="post" action="javascript:enviar(this.form1)">
Texto a enviar
<input type="text" name="textfield">
<input type="submit" name="Submit" value="Submit">
</form>

Este sería el formulario que sólo tiene un campo y el botón enviar. El usuario puede o bien pulsar el botón o pulsar la tecla enter. La función en este caso sería

function enviar(formul)
{
var nomb = formul.textfield.value
if (nomb.toLowerCase() != nomb.toUpperCase())
      location = "destino.htm?"+nomb
else
       alert("No es entrado ningún nombre")
}

Esta sería una apllicación muy simple que como vemos tan sólo envia el explorador a otra página con el valor escrito en el campo como argumento. Si el usuario no escribe nada o sólo escribe números envía un mensaje de aviso.