Recientemente en el foro preguntaron sobre como enviar información almacenada en una forma utilizando una liga lo cual puede ser bastante útil cuando queremos crear mayor interacción o personalización de nuestras formas o darle funcionalidades más interesantes a nuestra página.

Esto es muy sencillo utilizando un poco de javascript.

Tenemos que crear la forma en donde contendremos los campos que utilizaremos. El código que va a enviar la forma en la liga lo colocaremos en la acción onclick de la misma.

Es importante colocar el código return false; ya que si no lo tiene después de intentar enviar la forma el navegador se dirigirá a la liga lo que puede generar resultados no esperados.

Nuestra página forma.html quedaría de la siguiente forma:

<html>
<body>
<form method=”POST” action=”prueba.php?valor3=a” name=”forma01″>
<a href=”#”  onclick=”document.forma01.submit();return false;”>Liga 1 </a>
<input type=”hidden” name=’valor1′ value=”1″ />
<input type=”text” name=’valor2′ value=”Gato”  />
</form>
</body>
</html>

imagen1.png

En nuestra página prueba.php la cual estamos diseccionando en nuestra forma podemos recibir los valores que enviamos por la URL y por la forma:

prueba.php
<?php
if($_POST){ //Si le dimos clic a la liga
print_r($_POST); //variables enviadas en la forma
}
print_r($_GET); //valiables enviadas en la liga

?>

Al dar clic en nuestra liga la página prueba.php nos mostrará toda la información que enviamos:

imagen2.png

Si quisiéramos enviar todos los datos por la URL simplemente tendríamos que cambiar el método en la forma:


<form method=”GET”

Por lo que al enviar nuestra forma en la URL veremos únicamente la información de la forma en la liga:

imagen3.png