2011-09-07 17 views
20

Hola, estoy tratando de obtener la etiqueta "a" como botón de envío. Encontré un código en algún lugar de la web. Pero no funcionó.una etiqueta como un botón de envío?

<a href="#" onclick="this.form.submit()">Submit</a> 

¿Hay algún código para lograr mi necesidad?

Respuesta

23

Dale la form un id, y luego:

document.getElementById("yourFormId").submit();

La mejor práctica sería probablemente para darle a su enlace de un id también, y deshacerse del controlador de eventos:

document.getElementById("yourLinkId").onclick = function() { 
    document.getElementById("yourFormId").submit(); 
} 
+0

Gracias james Lo tengo – theepan

+0

@James Allardice ¿Se puede lograr esto en Jquery? – Joshua

1

Pruebe algo como continuación

<a href="#" onclick="this.forms['formName'].submit()">Submit</a> 
22

probar este código:

<form id="myform"> 
    <!-- form elements --> 
    <a href="#" onclick="document.getElementById('myform').submit()">Submit</a> 
</form> 

embargo, los usuarios con JavaScript desactivado, no será capaz de enviar el formulario, por lo que podría añadir el siguiente código:

<noscript> 
    <input type="submit" value="Submit form!" /> 
</noscript> 
+0

Hola, sí, es una buena idea, no lo pensé. – theepan

8

Suponiendo que la forma es la matriz directa que puede hacer:

<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a> 

Si no puede acceder a través del nombre del formulario, como este atributo:

<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a> 

ver los dos ejemplos aquí: http://jsfiddle.net/WEZDC/1/

+0

Gracias Amosrivera! – theepan

+0

no hay problema, me alegro de haber ayudado;) – amosrivera

+0

muy bien, y 'this.parentNode.parentNode' ... también está OK – Sinux

-2

en mi opinión, la manera más fácil sería algo como esto:

<?php> 
echo '<a href="link.php?submit='.$value.'">Submit</a>'; 
</?> 

dentro de la "link.php" puede solicitar el valor de la siguiente manera:

$_REQUEST['submit'] 
+0

¿Qué pasa si la acción del formulario no es GET? – LEQADA

Cuestiones relacionadas