Quiero enviar un formulario Pero no voy a la forma básica de usar un botón de entrada con el tipo de envío, sino un enlace.
La siguiente imagen muestra por qué. Estoy usando enlaces de imágenes para guardar / enviar el formulario. Debido a que tengo marcado CSS estándar para enlaces de imágenes, no quiero usar los botones de envío de entrada.
Traté de aplicar onClick = "document.formName.submit ()" al elemento pero preferiría un método html.
¿Algunas ideas?
Respuestas:
Dos caminos. Crea un botón y dale estilo para que parezca un enlace con css, o crea un enlace y úsalo
onclick="this.closest('form').submit();return false;"
.fuente
form.submit()
no funcionará sin JavaScriptinput[type=submit].link { border: none; background: none; display: inline; color: blue; text-decoration: underline; }
y<input type=submit class="link" />
Realmente no puedes hacer esto sin alguna forma de scripting según mi leal saber y entender.
Ejemplo de aquí .
fuente
Solo diseñar un estilo
input type="submit"
como este me funcionó:Probado en Chrome, IE 7-9, Firefox
fuente
input
elemento apropiado utilizando selectores CSS sin adjuntar una clase al elemento HTML.Estás utilizando imágenes para enviar ... así que simplemente puedes usar un
type="image"
"botón" de entrada:fuente
<button>
elemento con un<img/>
elemento en él.utilizar:
o:
más algo de CSS
fuente
Definitivamente, no existe una solución con HTML puro para enviar un formulario con una
a
etiqueta link ( ). 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 usando una sola línea de JavaScript, usando un
this
objeto, que hace referencia al elemento en el que se hace clic, que es un nodo secundario del formulario, que debe enviarse. Asíthis.parentNode
es el nodo de formulario. Después de que solo está llamando alsubmit()
método de esa forma. No es necesario investigar todo el documento para encontrar la forma correcta.Supongamos que entro con mi propio nombre:
He usado el
get
atributo de método de formulario porque es posible ver los parámetros correctos en la URL en la página cargada después de enviar.Obviamente, esta solución se aplica a cualquier etiqueta que acepte el
onclick
evento o algún evento similar.this
es una excelente opción para recuperar el contexto junto conevent
variables (disponibles en todos los principales navegadores e IE9 en adelante) que se pueden usar directamente o pasar como argumento a una función.En este caso, reemplace la línea con la
a
etiqueta por la línea a continuación, utilizando la propiedadtarget
, que indica el elemento que ha iniciado el evento.fuente
Stackoverflow
. Espero que sus correcciones me ayuden a mejorar mi estilo. Mi inglés tampoco es bueno.puede usar OnClick = "document.getElementById ('formID_NOT_NAME'). SUBMIT ()"
fuente