Foros del Web » Programando para Internet » Javascript »

Donde usar el confirm?

Estas en el tema de Donde usar el confirm? en el foro de Javascript en Foros del Web. Hola a todos!!! A ver si alguien me puede ayudar con un pequeño detallito. Tengo un listado de las reservaciones que hacen los usuarios, cada ...
  #1 (permalink)  
Antiguo 11/07/2006, 12:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 141
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Donde usar el confirm?

Hola a todos!!!

A ver si alguien me puede ayudar con un pequeño detallito.

Tengo un listado de las reservaciones que hacen los usuarios, cada una de ellas acompañada de un radiobutton, y tengo 2 opciones (que se encuentran en 2 botones) una es modificar y otra es eliminar.

La cosa es que quiero que salga un confirm al pulsar el boton de eliminar, y el problema es que no sé donde ubicarlo y de qué manera, xq los botones que uso son del tipo submit, y uso el onsubmit del formulario para verificar que se haya seleccionado algun radiobutton, si pongo el confirm en el boton, y no ha seleccionado una opcion primero me sale el mensaje del confirm y luego el alert de que no ha seleccinado una opcion, y si selecciono una opcion y le doy en cancelar de todos modos se pasa a la otra pagina

Aqui les pongo el codigo:
Código PHP:
//Funciones para comprobar que se haya seleccionado un radiobutton
<script>
function comprobarRadio(radio)
{
  for(i = 0;i < radio.length;i++)
  {
    if(radio[i].checked)
    {
      return true;
    }
  }
  return false;
}

function enviarForm()
{
  if(!comprobarRadio(document.form1.GrupoOpciones1))
  {
    alert("Por favor, seleccione una opción.")
    return false;
  }

  return true;
}
</script>

<form id="form1" name="form1" method="post" action="cancel_mod.php" onSubmit="return enviarForm();">

<?php
  $rest
"SELECT NoReserv,NoMesa, Hora, Fecha, NoPersonas FROM restaurant WHERE Nombre='$name' AND NoSocio='$id' AND Fecha>='$fecha' AND Status='activa' ORDER BY Fecha";
  
$result=mysql_query($rest,$PAGINA); 
 
  if(
mysql_num_rows($result) > 0){ //Si tiene reservación en el restaurant
       
$restaurant=mysql_fetch_array($result);
       echo 
'<table width="600" border="0" align="center">';
          echo 
'<tr>'//Fila 1
               
echo '<td ></td>';// Columna 1
               
echo '<td ><div align="center" class="Estilo2">Mesa</div></td>'//Columna 2
               
echo '<td ><div align="center" class="Estilo2">Hora</div></td>'//Columna 3
               
echo '<td ><div align="center" class="Estilo2">Fecha</div></td>'//Columna 4
               
echo '<td ><div align="center" class="Estilo2">N. de Personas</div></td>'//Columna 5
          
echo '</tr>';
          
      do{
           echo 
'<tr>'//Fila 1
           
echo '<td width="30"><input name="GrupoOpciones1" type="radio" value="'."r_".$restaurant['NoReserv'].'" /></td>';// Columna 1
           
echo '<td width="80"><div align="center">'.$restaurant['NoMesa'].'</div></td>'//Columna 2
           
echo '<td width="100"><div align="center">'.substr($restaurant['Hora'], 0,-3).'</div></td>'//Columna 3
           
echo '<td width="200"><div align="center">'.obtener_fecha($restaurant['Fecha']).'</div></td>'//Columna 4
           
echo '<td width="30"><div align="center">'.$restaurant['NoPersonas'].'</div></td>'//Columna 5
           
echo '</tr>';
        }while(
$restaurant mysql_fetch_array($result)); 
   echo 
'</table>';      
  }
  else 
    echo 
"No tiene reservaciones en el Restaurant";
  
?>

         <input name="consultar" type="submit" id="consultar" value="Modificar"  />
      <input name="consultar" type="submit" id="consultar" value="Cancelar" />

Espero que alguien pueda ayudarme
__________________
:ojotes: A n I t A :ojotes:
  #2 (permalink)  
Antiguo 11/07/2006, 12:32
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
En vez de tipo submit ponlos tipo button y quita el onsubmit del form y mete el evento onclick en el button una llamada a una funcion pasandole como parametro el formulario (lo cual hace la comprobación más cómoda). Realizas las comprobaciones necesarias y si todo es correcto entonces metes el confirm.

Tu codigo modificado a mi idea:

Código PHP:
//Funciones para comprobar que se haya seleccionado un radiobutton 
<script> 
function comprobarRadio(radio) 

  for(i = 0;i < radio.length;i++) 
  { 
    if(radio[i].checked) 
    { 
      return true; 
    } 
  } 
  return false; 


function enviarForm(f) 

  if(!comprobarRadio(f.GrupoOpciones1)) 
  { 
    alert("Por favor, seleccione una opción.") 
    return false; 
  } else {
      if (confirm ("Lo que quieras que salga")) f.submit();
  }

  return true; 

</script> 

<form id="form1" name="form1" method="post" action="cancel_mod.php"> 

<?php 
  $rest
"SELECT NoReserv,NoMesa, Hora, Fecha, NoPersonas FROM restaurant WHERE Nombre='$name' AND NoSocio='$id' AND Fecha>='$fecha' AND Status='activa' ORDER BY Fecha"
  
$result=mysql_query($rest,$PAGINA);  
  
  if(
mysql_num_rows($result) > 0){ //Si tiene reservación en el restaurant 
       
$restaurant=mysql_fetch_array($result); 
       echo 
'<table width="600" border="0" align="center">'
          echo 
'<tr>'//Fila 1 
               
echo '<td ></td>';// Columna 1 
               
echo '<td ><div align="center" class="Estilo2">Mesa</div></td>'//Columna 2 
               
echo '<td ><div align="center" class="Estilo2">Hora</div></td>'//Columna 3 
               
echo '<td ><div align="center" class="Estilo2">Fecha</div></td>'//Columna 4 
               
echo '<td ><div align="center" class="Estilo2">N. de Personas</div></td>'//Columna 5 
          
echo '</tr>'
           
      do{ 
           echo 
'<tr>'//Fila 1 
           
echo '<td width="30"><input name="GrupoOpciones1" type="radio" value="'."r_".$restaurant['NoReserv'].'" /></td>';// Columna 1 
           
echo '<td width="80"><div align="center">'.$restaurant['NoMesa'].'</div></td>'//Columna 2 
           
echo '<td width="100"><div align="center">'.substr($restaurant['Hora'], 0,-3).'</div></td>'//Columna 3 
           
echo '<td width="200"><div align="center">'.obtener_fecha($restaurant['Fecha']).'</div></td>'//Columna 4 
           
echo '<td width="30"><div align="center">'.$restaurant['NoPersonas'].'</div></td>'//Columna 5 
           
echo '</tr>'
        }while(
$restaurant mysql_fetch_array($result));  
   echo 
'</table>';       
  } 
  else  
    echo 
"No tiene reservaciones en el Restaurant"
   
?> 

         <input name="consultar" type="button" id="consultar" onclick="enviarForm(this.form);" value="Modificar"  /> 
      <input name="consultar" type="button" id="consultar" value="Cancelar" />
No sé pa que necesitas q compruebe en el caso de cancelar...

Vamos, esa es mi forma de trabajar... tb puedes meter el confirm donde yo lo te lo he colocado y hacer return false; si no confirma y return true; si es asi... La elección es tuya.

Y sobre el botón cancelar cambialo de submit a button y q realice lo q deba hacer (supongo q un document.location)
Espero haber sido de ayuda.
__________________
La muerte es un camino que todos debemos recorrer...

Última edición por djreficul; 11/07/2006 a las 12:51
  #3 (permalink)  
Antiguo 11/07/2006, 12:52
 
Fecha de Ingreso: septiembre-2005
Mensajes: 141
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias por tu respuesta, ya probe lo que pusiste, pero ahora no me pasa el valor del radiobutton a la pagina destino
__________________
:ojotes: A n I t A :ojotes:
  #4 (permalink)  
Antiguo 11/07/2006, 12:57
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
Pues eso ya será de PHP... Mira bien el codigo de la pagina de destino o en caso de q no veas el error postea el codigo. Tropecientos ojos ven más q 2. Y más a estas horas q ya lleva uno tol día líao programando, jajajaja.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 11/07/2006, 13:14
 
Fecha de Ingreso: septiembre-2005
Mensajes: 141
Antigüedad: 19 años, 2 meses
Puntos: 0
Fue una tonteria, olvidalo

Ahora otro detalle, como puedo saber cual boton pulsaron, tenia un

Código PHP:
switch ($_POST["consultar"]) {
   case 
"Cancelar":
   
   case 
"Modificar":
        

pero con las modificaciones que hice ya no me reconoce " consultar " que es el nombre de los botones.
__________________
:ojotes: A n I t A :ojotes:
  #6 (permalink)  
Antiguo 11/07/2006, 18:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola:

Una validación o una confirmación siempre es conveniente hacerla con el evento submit como hacías originalmente.

Cuando usas un botón submit con nombre y value, puedes consultar el valor de ese nombre, que se asigna en el momento de activarlo...

<form onsubmit="return validar(this)"...
<input type="submit" name="envio" value="eliminar" />
...
<input type="submit" name="envio" value="insertar" />
...

Luego el método validar podría ser...

function validar(f) {
switch (f.envio.value) {
case "eliminar":
return confirm("Se va a eliminar el dato...");
break;
case: "insertar":
...

}
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 18:44.