html - metodo - input type
Use un enlace normal para enviar un formulario (7)
Definitivamente, no hay solución con HTML puro para enviar un formulario con una etiqueta de enlace ( 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 probé en un formulario y el navegador no encontró la referencia al formulario.
Por lo tanto, es posible resolverlo utilizando una sola línea de JavaScript, utilizando this
objeto, 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 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 ingreso con mi propio nombre:
He utilizado get
en el atributo de método de formulario porque es posible ver los parámetros correctos en la URL en la página cargada después del envío.
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
Esta solución obviamente se aplica 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 la variable de event
(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 a
etiqueta por la línea siguiente, utilizando el target
propiedad, que indica el elemento que ha iniciado el evento.
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>
Quiero enviar un formulario. Pero no me refiero a la forma básica de usar un botón de entrada con tipo de envío, sino a un enlace.
La imagen a continuación muestra por qué. Estoy usando enlaces de imagen para guardar / enviar el formulario. Como tengo marcado de CSS estándar para enlaces de imagen, no quiero usar los botones de envío de entrada.
Intenté aplicar onClick = "document.formName.submit ()" al elemento a, pero preferiría un método html.
¿Algunas ideas?
Está utilizando imágenes para enviar ... así que simplemente puede usar un "botón" de entrada type="image"
":
<input type="image" src="yourimage.png" name="yourinputname" value="yourinputvalue" />
Realmente no puedes hacer esto sin algún tipo de guiones, según mi leal saber y entender.
<form id="my_form">
<!-- Your Form -->
<a href="javascript:{}" onclick="document.getElementById(''my_form'').submit(); return false;">submit</a>
</form>
Ejemplo de Here .
Solo diseñar un <input type="submit" class="linkButton" />
me funcionó así:
.linkButton {
background: none;
border: none;
color: #0066ff;
text-decoration: underline;
cursor: pointer;
}
<input type="submit" class="linkButton" />
Probado en Chrome, IE 7-9, Firefox
puede usar OnClick = "document.getElementById (''formID_NOT_NAME''). SUBMIT ()"
utilizar:
<input type="image" src=".."/>
o:
<button type="send"><img src=".."/> + any html code</button>
además de algunos CSS
Dos caminos. Cree un botón y ejecútelo para que parezca un enlace con CSS, o cree un enlace y use onclick="form.submit();"
.