Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: dimitrix en 28 Junio 2011, 01:54 AM

Título: Dos forms en uno
Publicado por: dimitrix en 28 Junio 2011, 01:54 AM
(http://img197.imageshack.us/img197/8569/hackgx.jpg)

Tengo el siguiente formulario y con dos botones diferentes.

El problema es que necesito que vayan a direcciones diferentes cada uno de los botones y no se como hacerlo...


Gracias.
Título: Re: Dos forms en uno
Publicado por: Devilboy.Devil en 28 Junio 2011, 02:00 AM
Cita de: dimitrix en 28 Junio 2011, 01:54 AM
(http://img197.imageshack.us/img197/8569/hackgx.jpg)

Tengo el siguiente formulario y con dos botones diferentes.

El problema es que necesito que vayan a direcciones diferentes cada uno de los botones y no se como hacerlo...


Gracias.

crea los botones de tipo button y no sumbit y dale el code javascript en el evento onclick de la sig forma

onClick="window.location='pagina.php'"
Título: Re: Dos forms en uno
Publicado por: raul338 en 28 Junio 2011, 02:14 AM
pon un php de intermediario

Código (PHP) [Seleccionar]

switch($_POST["botonSubmit"]) {
   case "Cambiar clientes de grupo":
         include "Cambiar_group.php"; // xD
         break;
   case "Gestionar clientes seleccionados":
         include "gestion.php";
         break;
}
Título: Re: Dos forms en uno
Publicado por: dimitrix en 28 Junio 2011, 10:19 AM
Muchas gracias a los dois, me gustó las dos ideas.
Título: Re: Dos forms en uno
Publicado por: dimitrix en 28 Junio 2011, 23:43 PM
Devilboy.Devil estaba probando el tuyo pero no se me envía los elementos seleccionados :-()
Título: Re: Dos forms en uno
Publicado por: Devilboy.Devil en 29 Junio 2011, 00:47 AM
Cita de: dimitrix en 28 Junio 2011, 23:43 PM
Devilboy.Devil estaba probando el tuyo pero no se me envía los elementos seleccionados :-()


puedes pasar los elementos por url y capturarlos con un get

onclick="window.location='pagina.php?nombre=<?php echo $nombre?>&apellido = <?php echo $apellido?>&etc...'"

y en la pagina.php capturas los elementos con un get

$nombre = $_GET['nombre'];
Título: Re: Dos forms en uno
Publicado por: ~ Yoya ~ en 29 Junio 2011, 01:05 AM
Ya deberías ir aprendiendo javascript.
Título: Re: Dos forms en uno
Publicado por: dimitrix en 29 Junio 2011, 01:27 AM
Devilboy.Devil eso que me pusiste no me sirve, pero ya lo hice, gracias de todos modos :-)

Cita de: ~ Yoya ~ en 29 Junio 2011, 01:05 AM
Ya deberías ir aprendiendo javascript.

Joder, pues ya lo creo la verdad, me compré unos libros pero pensé que desaparecería y que el JS era más para 'diseñador' no programador.

Pero ciertamente tengo que leerme algún tuto.
Título: Re: Dos forms en uno
Publicado por: Devilboy.Devil en 29 Junio 2011, 02:51 AM
Cita de: dimitrix en 29 Junio 2011, 01:27 AM
Devilboy.Devil eso que me pusiste no me sirve, pero ya lo hice, gracias de todos modos :-)

Joder, pues ya lo creo la verdad, me compré unos libros pero pensé que desaparecería y que el JS era más para 'diseñador' no programador.

Pero ciertamente tengo que leerme algún tuto.

xq no te sirve???
Título: Re: Dos forms en uno
Publicado por: raul338 en 29 Junio 2011, 03:15 AM
Devilboy.Devil, es mejor hacer que se envie el formulario a redireccionar la pagina.

No necesariamente debes usar javascript, hay quienes deshabilitan scripts y ahi tu pagina seria un FAIL :xD
Título: Re: Dos forms en uno
Publicado por: bomba1990 en 29 Junio 2011, 03:20 AM
oye, con javascript para cambiar el action donde se envia un formulario es de esta manera:

Código (php) [Seleccionar]

<SCRIPT language="javascript">
function OnSubmitForm()
{
if(document.pressed == 'Insert')
{
document.myform.action ="insert.html";
}
else
if(document.pressed == 'Update')
{
document.myform.action ="update.html";
}
return true;
}
</SCRIPT>
<FORM name="myform" onSubmit="return OnSubmitForm();">
Name: <INPUT TYPE="TEXT" Name="name"><br>

Email: <INPUT TYPE="TEXT" Name="name"><br>
<INPUT TYPE="SUBMIT" name="Operation" onClick="document.pressed=this.value" VALUE="Insert">
<INPUT TYPE="SUBMIT" name="Operation" onClick="document.pressed=this.value" VALUE="Update">
</FORM>




De aqui lo saque, aunque es mejor enviarlos a un mismo archivo y que el archivo identifique cual de los dos se marco, por si a las msocas esta desacticado el javascript
http://www.javascript-coder.com/files/form-action/html-form-action-example1.html (http://www.javascript-coder.com/files/form-action/html-form-action-example1.html)
Título: Re: Dos forms en uno
Publicado por: madpitbull_99 en 29 Junio 2011, 19:33 PM
La solución de bomba1990 es válida.

Pero si quieres hacerlo con PHP se hace de la siguiente manera:

form.html
Código (html4strict) [Seleccionar]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="author" content="MadPitbull_99" />
<title>Two Forms in One</title>
</head>
<body>
<form action="twoFormsInOne.php" method="post">
<input type="text" name="valor" value="" />
<input type="submit" value="borrar" name="submit" />
<input type="submit" value="actualizar" name="submit" />
</form>
</body>
</html>




twoFormsInOne.php

Código (php) [Seleccionar]
<?php 
if (
$_POST) {
if ($_POST['submit'] == "actualizar") {
echo "Voy a actualizar el valor {$_POST['valor']} . ";
} else {
echo "Voy a borrar el valor {$_POST['valor']}. ";
}
}
   

Es así de sencillo, algo parecido a lo que ha sugerido raul338. Claramente hay que adaptarlo a tu script, lo mío es solo un ejemplo.
Título: Re: Dos forms en uno
Publicado por: dimitrix en 29 Junio 2011, 20:03 PM
madpitbull_99  lo hice así pero con un control de errores.