Foros del Web » Programando para Internet » PHP »

2 botones al mismo formulario

Estas en el tema de 2 botones al mismo formulario en el foro de PHP en Foros del Web. Hola, hace un tiempo pregunté como hago para confirmar datos antes de enviar un formulario, me respondieron enseguida y me funcionó OK, ahora tengo otro ...
  #1 (permalink)  
Antiguo 10/10/2005, 08:08
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
2 botones al mismo formulario

Hola, hace un tiempo pregunté como hago para confirmar datos antes de enviar un formulario, me respondieron enseguida y me funcionó OK, ahora tengo otro inconveniente; tengo un formulario, el cual tiene 2 botones "eliminar" y "actualizar". Lo que significa que puedo hacer una acción o la otra con el mismo form, ambos necesitan confirmar datos, es decir si hago click en eliminar me debe preguntar si estoy seguro, y con actualizar lo mismo.

Mi consulta es cómo hago en el formulario para saber qué presionó el usuario?
Les digo mas o menos el código:

<FORM NAME=encusuario ACTION="encusuario.php" METHOD=GET>
algo...
<INPUT NAME=Boton TYPE=BUTTON onclick="elimina()" VALUE=Elimina>
<INPUT NAME=Boton TYPE=BUTTON onclick="modifica()" VALUE=Modifica>
</FORM>

Quisiera que me envie el value en la variable Boton a encusuario.php, pero no lo hace porque es de tipo BUTTON, si fuera SUBMIT, si lo haría, pero no puedo poner SUBMIT porque no me funciona la confirmación.

Desde ya les agradezco su tiempo, espero respuestas, muchas gracias!!!.
  #2 (permalink)  
Antiguo 10/10/2005, 08:24
Avatar de hexapodo  
Fecha de Ingreso: enero-2005
Mensajes: 36
Antigüedad: 12 años, 10 meses
Puntos: 0
Hola,

primero que todo te toca darle nombres diferentes a los dos botones

Cita:
<FORM NAME=encusuario ACTION="encusuario.php" METHOD=GET>
algo...
<INPUT NAME=B_elimina TYPE=BUTTON onclick="elimina()" VALUE=Elimina>
<INPUT NAME=B_modifica TYPE=BUTTON onclick="modifica()" VALUE=Modifica>
</FORM>
luego en encusuario.php verificas que boton fue pulsado con

if ($_GET['B_elimina'])
{
//codigo para eliminar
}

if ($_GET['B_modifica'])
{
//codigo para modificar
}
__________________
:::::::::::: ::::::::::::: ::::::::::::: :::::::::::::
Juan Pablo León Bazante
Est. Ing. en automática industrial
http://hexapodo.webcindario.com/fotos/
  #3 (permalink)  
Antiguo 10/10/2005, 14:30
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Gracias hexapodo, pero eso ya lo probé y no funciona.

Me da error el siguiente error:

Notice: Undefined index: Boton1 in d:\archivos de programa\easyphp1-8\www\gestion\encusuario.php on line 18

Por eso puse el mismo name en ambos botones y tampoco funciona, sólo anda si el tipo es SUBMIT y no BUTTON.

Por favor!!! Necesito otra solución!!!
  #4 (permalink)  
Antiguo 10/10/2005, 17:06
 
Fecha de Ingreso: abril-2005
Ubicación: zürich, la rica suiza
Mensajes: 212
Antigüedad: 12 años, 7 meses
Puntos: 2
coti hola!

haslo con botones tipo submit. te pongo un ejemplo

Código PHP:
<form method="post" action="encusuario.php">
<
input type="submit" name="actualizar" value="actualizar">
<
input type="submit" name="eliminar" value="eliminar">
</
form
y en encusuario.php

Código PHP:
$opcion $_POST['submit'];

if(
$opcion == "actualizar"){
bla bla bla..
}else{
bla bla bla bla eliminar

suerte
  #5 (permalink)  
Antiguo 10/10/2005, 17:46
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Gracias peru, pero tampoco me sirve, con botones SUBMIT pierdo la confirmación de los datos, ya lo había probado.

Igualmente muchas gracias, a alguien se le ocurre otra forma?
  #6 (permalink)  
Antiguo 10/10/2005, 19:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Deberías hacerlo con botones submit para que funcione aunque no tengas JavaScript habilitado. Quizás lo que te convendría habilitar es el script que usas para comprobar los datos del form.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #7 (permalink)  
Antiguo 11/10/2005, 06:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Hola thunder.script, muchas gracias pero la verdad no entiendo lo que me propones.

Cómo no tener habilitado Javascript y tener habilitado el script para comprobar los datos?
  #8 (permalink)  
Antiguo 11/10/2005, 06:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por coti
Hola thunder.script, muchas gracias pero la verdad no entiendo lo que me propones.

Cómo no tener habilitado Javascript y tener habilitado el script para comprobar los datos?
Significa que valides tus datos vía PHP (siempre hay que hacerlo en última instancia si o si).

Pero también puedes hacerlo vía javascript .. pero para esto, consulta en el foro de javascript.

Un saludo,
  #9 (permalink)  
Antiguo 11/10/2005, 08:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Me refería a:
1. Verificar que tu script de JavaScript no sea intrusivo, es decir, que el formulario funcione aunque JavaScript esté deshabilitado.
2. Validar los datos vía PHP, aunque ya lo hayas hecho con JavaScript

Saludos,
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #10 (permalink)  
Antiguo 11/10/2005, 19:28
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Alguien me puede ayudar con esto que me proponen? O al menos darme un ejemplo?

Muchas gracias por su colaboración.
  #11 (permalink)  
Antiguo 11/10/2005, 19:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Poné el código que estás usando así vemos cómo adaptarlo.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #12 (permalink)  
Antiguo 12/10/2005, 22:09
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
<script language="JavaScript">
function modifica(){

if (confirm('¿Esta seguro de realizar la modificación?')){
document.encusuario.submit()
}

}

function elimina(){

if (confirm('¿Esta seguro de eliminar el registro?')){
document.encusuario.submit()
}

}

Esas son las funciones de Javascript, aca viene el form con 2 botones:

echo "<TD>";
echo "<FORM NAME=encusuario ACTION="."encusuario.php"." METHOD=GET>";
echo "Usuario :"."<INPUT NAME=usuario TYPE=TEXT VALUE="."$_SESSION[nombre]"." DISABLED>";
echo "<BR>";
Pass:"."<INPUT NAME=clave TYPE=PASSWORD DISABLED>";
<BR>";
echo "</TD>";
echo "<TD>";
echo "<INPUT NAME=Boton1 TYPE=BUTTON onclick="."elimina()"." VALUE=Elimina>";
echo "<INPUT NAME=Boton2 TYPE=BUTTON onclick="."modifica()"." VALUE=Modifica>";
echo "</FORM>";

todas las lineas tienen echo" "; porque lo hago directamente sobre HTML, podrian no tenerlo.

Espero me puedan ayudar!!! Muchas gracias..-
  #13 (permalink)  
Antiguo 13/10/2005, 01:16
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
yo lo tengo así:

prueba31.php
<html>
<head>
<title>ejemplo</title>
</head>
<body>
<?php

echo '
Ingese su nombre
<br />
<form method="POST" action="prueba32.php">
<input type="submit" name="enviar" value="Boton1" />
<input type="submit" name="enviar2" value="Boton2" />
</form>
';


?>
</body>
</html>

prueba32.php
<html>
<head>
<title>ejemplo</title>
</head>
<body>
<?php

if (isset($_POST["enviar"]))
{
echo "pulsado boton1";
}
if (isset($_POST["enviar2"]))
{
echo "pulsado boton2";
}



?>
</body>
</html>
  #14 (permalink)  
Antiguo 13/10/2005, 06:45
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Si, muchas gracias Cyborg, a mi eso tambien me funciona, sólo que si uso botones tipo submit pierdo la confirmación de Javascript.-

Ayudaaaaa!!!!!!!!!!
  #15 (permalink)  
Antiguo 13/10/2005, 07:07
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
hola, no entiendo que quieres decir con que pierdes la confirmacion de javascript.. y sin saber mucho.. pero y si usas alguna variable global para guardar esa confirmacion?
  #16 (permalink)  
Antiguo 13/10/2005, 07:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. coti .. deberías preguntar en el foro de javascript como validar con javascrip o hacer esa confirmación ..

En javascript puedes perfectamente hacer cosas como:

<input type="submit" name="enviar" value="Boton1" onClick="return confirmar();"/>
<input type="submit" name="enviar2" value="Boton2" onClick="return confirmar();"/>

Es decir .. ante un evento como el "click" sobre ese botón .. mandar a llamar a tu función javascript .. la cual validará o lo que corresponda ..si todo OK deja continuar la ejecución (hará tu "submit") y sino .. ahí quedará ..(tal vez tengas que cambiar el botón de tipo "submit" a un "button" y hacer el submit (via javascript) tras aplicar tu función javascript de validación/confirmación, pero .. insisto .. si tienes problemas de javascript, consulta en el foro de javascript.

El detalle está en tu función javascript .. debes usar un "return" o algo así .. vuelvo a insistir . .confirmalo en el foro de Javacript!.

Un salduo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.