Definitivamente, no hay solución con HTML puro para enviar un formulario con un enlace etiqueta (a
). El HTML estándar solo acepta botones o imágenes. Como han dicho otros colaboradores, uno puede simular la apariencia de un enlace usando un botón, pero supongo que ese no es el propósito de la pregunta.
En mi humilde opinión, creo que la solución propuesta y aceptada no funciona.
Lo he probado en un formulario y el navegador no ha encontrado la referencia al formulario.
Así que es posible resolverlo usando una sola línea de JavaScript, utilizando el objeto this
, que hace referencia al elemento al que se hace clic, que es un nodo secundario del formulario, que debe enviarse. Entonces, this.parentNode
es el nodo de formulario. Después de simplemente llamar al método submit()
en esa forma. No es necesario buscar todo el documento para encontrar la forma correcta.
<form action="http://www.greatsolutions.com.br/indexint.htm"
method="get">
<h3> Enter your name</h3>
First Name <input type="text" name="fname" size="30"><br>
Last Name <input type="text" name="lname" size="30"><br>
<a href="#" onclick="this.parentNode.submit();"> Submit here</a>
</form>
Supongamos que entro con mi propio nombre:

He usado get
en el atributo método del formulario porque es posible ver los parámetros correctos en la dirección URL en la página cargada después de enviar .
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
Esta solución se aplica obviamente a cualquier etiqueta que acepte el evento onclick
o algún evento similar.
this
es una excelente opción para recuperar el contexto junto con event
variable (disponible en todos los navegadores principales e IE9 en adelante) que se puede usar directamente o pasar como argumento para una función.
En este caso, reemplace la línea con la etiqueta a
por la línea siguiente, usando la propiedad target
, que indica el elemento que ha iniciado el evento.
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>
botón de uso y CSS para mostrar la imagen o el uso de JavaScript, no hay manera real de hacer simples href para enviar un formulario sin javascript. –
en segundo lugar, desafortunadamente estos no son una manera fácil sin Javascript – benhowdle89
Su razón para hacer esto parece una economía falsa. Es mejor crear un CSS estándar para enviar botones y usar formularios de la forma en que fueron diseñados para ser utilizados. Hay un montón de técnicas de botón CSS descritas aquí: http://www.tripwiremagazine.com/2009/06/24-essential-submit-button-enhancements.html – dnagirl