Foros del Web » Programando para Internet » Javascript »

Mensaje de confirmacion de un registro en javascript

Estas en el tema de Mensaje de confirmacion de un registro en javascript en el foro de Javascript en Foros del Web. Hola a todos es mi primer post espero que me ayuden mi problema es que quiero eliminar un registro de una BD mi codigo me ...
  #1 (permalink)  
Antiguo 19/11/2012, 02:19
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Pregunta Mensaje de confirmacion de un registro en javascript

Hola a todos es mi primer post espero que me ayuden mi problema es que quiero eliminar un registro de una BD
mi codigo me funciona bien si hace la operacion el problema es que me piden un mensaje de confirmacion he usado el buscador pero no he logrado dar con la respuesta,(hay temas de mas de 6 meses y me dice que cree uno nuevo) entonces les dejo mi codigo
Código:
<h2>Bienvenido <span></span></h2>
                Eliminar medico <br>
                
 <form action="eliminarmedico2.php" method="post">

                    <label>Cedula:</label>
                    <input   name="cedula" type="text"/><br>
                    
                    <input  type="submit"  value="Enviar" /><br>
                    </form>
Este es el codigo que utilizo para eliminar y lo envio a eliminarmedico2.php que su codigo es el siguiente
Código:
<?php
$id=$_POST['cedula'];
$conex=  mysql_connect("localhost","root","")
        or die("No se logro conectar").  mysql_error();
        mysql_select_db("control",$conex);
        mysql_query("SET NAMES 'utf8'");
        if ($id == " " or $id == ""){
    echo "Error Debe Llenar Todos Los Campos";
    
    }else{

        $query="DELETE FROM medico WHERE cedula='".$id."';";
        if(mysql_query($query, $conex)){
            
            echo "El medico fue eliminado";
            
        }else{
            echo "Algo anda mal";
            echo $query;
        }}
        mysql_close();
?>
Como ven el codigo es sencillo pero la verdad ya me trabe y ya no se como hacerlo se que es con un confirm pero no me funciona el codigo lo meto en el

Código:
<script language=\"Javascript\">
    function confirmDel()
{
var agree=confirm("¿Realmente desea eliminarlo? ");
if (agree) return true ;
else return false ;
}
</script>

y en el boton pongo
Código:
<form action="eliminarmedico2.php" method="post">

                    <label>Cedula:</label>
                    <input   name="cedula" type="text"/><br>
                    
                    <input  type="submit"  value="Enviar" /><br>
                        
                        <a onclick="confirmDel();" href="eliminarmedico2.php">Eliminar</a>
                    </form>
y el error que me manda es
( ! ) Notice: Undefined index: cedula in C:\wamp\www\proyectofinal\eliminarmedico2.php on line 2



Alguien me ayuda =( quiero que me mande aceptar y cancelar si acepta que elimine si cancela que no haga nada
  #2 (permalink)  
Antiguo 19/11/2012, 02:51
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
Respuesta: Mensaje de confirmacion de un registro en javascript

Hola:

En vez de crear un enlace hacia el formulario sin pasar nada (al menos con los enlaces es posible pasar parámetros por url...), tenías que usar el evento de envío del formulario:

<form unsubmit="return confirm('¿Realmente desea eliminarlo?...')"...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/11/2012, 07:34
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Mensaje de confirmacion de un registro en javascript

ampliando lo dicho por @caricatos, te recomiendo que leas
http://www.forosdelweb.com/f13/forma...visto-1019038/

Y un detalle. esto

( ! ) Notice: Undefined index: cedula in C:\wamp\www\proyectofinal\eliminarmedico2.php on line 2

es un "error" generado por php no por javascript, para ser preciso tampoco es un error en el sentido estricto, ya que tiene la categoría de "notice", lo cual no va a impedir que tu php se ejecute correctamente.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 19/11/2012, 10:44
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: Mensaje de confirmacion de un registro en javascript

Bueno gracias por responder pero me queda claro miren arregle un poco el codigo y aun sigue marcando ese error que por cierto no elimina

Codigo del boton no se si ese form action va ahi
Código:
 <form action="eliminarmedico2.php" method="post">

                    <label>Cedula:</label>
                    <input   name="cedula" type="text"/><br>
                    
                    
                        
                        <input type="button" onclick="confirmation()" value="Enviar"></input>
                    </form>
y en el head puse la funcion
Código:
 <script type="text/javascript">
<!--
function confirmation() {
	var answer = confirm("¿Deseas Eliminar este medico?")
	if (answer){
		alert("Bye bye!")
		window.location = "eliminarmedico2.php";
	}
	else{
		alert("Cancelado!")
	}
}
//-->
</script>

Ya me redirecciona a eliminarmedico2.php el problema es que me manda error el mismo error de


( ! ) Notice: Undefined index: cedula in C:\wamp\www\proyectofinal\eliminarmedico2.php on line 2
Call Stack
# Time Memory Function Location
1 0.0024 369896 {main}( ) ..\eliminarmedico2.php:0
Error Debe Llenar Todos Los Campos


Y me marca como si el campo estuviera vacio
  #5 (permalink)  
Antiguo 19/11/2012, 11:11
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Mensaje de confirmacion de un registro en javascript

No arreglaste nada, da la sensación de que no leiste ninguna de nuestras respuestas, volvé a leerlas, y con respecto a
! ) Notice: Undefined index: cedula in C:\wamp\www\proyectofinal\eliminarmedico2.php on line 2
Call Stack
# Time Memory Function Location
1 0.0024 369896 {main}( ) ..\eliminarmedico2.php:0

Tenés que deshabilitar los errores en pantalla del php, nada tiene que ver esto con javascript.

ah, un detalle, una corrección al código de @caricatos que ha tenido un error de tipeo, el nombre del evento es onsubmit y no unsubmit
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 19/11/2012, 11:58
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: Mensaje de confirmacion de un registro en javascript

bueno quite lo de javascript y puse lo que me dijeron
Código:
<form name="miFormulario" action="eliminarmedico2.php"
onSubmit="alert('Has pulsado enviar.'); return false;">
          <label>Cedula:</label>
                    <input   name="cedula" type="text"/>

               
                        
                        <input type="button" onclick="confirmation()" value="Enviar"></input>
                    </form>
Me dice el medico fue eliminado pero no lo elimina,lo de quitar los errores después no sabre bien cuales son por eso no quiero quitar el display pero no se si este bien creo que es en post
Código:
<?php
$id=$_POST['cedula'];
$conex=  mysql_connect("localhost","root","")
        or die("No se logro conectar").  mysql_error();
        mysql_select_db("control",$conex);
        mysql_query("SET NAMES 'utf8'");
        

        $query="DELETE FROM medico WHERE cedula='".$id."';";
        if(mysql_query($query, $conex)){
            
            echo "El medico fue eliminado";
            
        }else{
            echo "Algo anda mal";
            echo $query;
        }
        mysql_close();
?>
se supone que hace la conexion pero no se porque no elimina
  #7 (permalink)  
Antiguo 19/11/2012, 12:09
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
Respuesta: Mensaje de confirmacion de un registro en javascript

Hola:

Los input, en xhtml se cierran en la misma etiqueta: "<input.../>".

Te recomiendo que pruebes con mi respuesta (y la corrección que te marcó emprear (onsubmit... ¡en qué estaría pensando!)... y un simple botón submit (es así de fácil)... si quieres experimentar, luego puedes hacerlo, pero la respuesta es válida... El abc de los formularios.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 19/11/2012, 12:20
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
De acuerdo Respuesta: Mensaje de confirmacion de un registro en javascript

Mil gracias ya me ha quedado esto lo puse en el boton
Código:
<form  action="eliminarmedico2.php" method="post">
          <label>Cedula:</label>
                    <input   name="cedula" type="text"/>

               
                        
                        <input type="submit" onclick="confirmation()" value="Enviar"></input>
                    </form>
y en el evento de java el confirmation pues puse
Código:
<script type="text/javascript">
<!--
function confirmation() {
	var answer = confirm("¿Deseas Eliminar este medico?")
	if (answer){
		alert("Bye bye!")
		window.location = "eliminarmedico2.php";
	}
	else{
		alert("Cancelado!")
	}
}
//-->
</script>
No se si este bien pero ya no me manda el error del index y ya me dice medico eliminado

GRACIAS¡¡¡
  #9 (permalink)  
Antiguo 19/11/2012, 12:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Mensaje de confirmacion de un registro en javascript

Cita:
Iniciado por luisroronoa Ver Mensaje
Mil gracias ya me ha quedado esto lo puse en el boton
Código:
<form  action="eliminarmedico2.php" method="post">
          <label>Cedula:</label>
                    <input   name="cedula" type="text"/>

               
                        
                        <input type="submit" onclick="confirmation()" value="Enviar"></input>
                    </form>
y en el evento de java el confirmation pues puse
Código:
<script type="text/javascript">
<!--
function confirmation() {
	var answer = confirm("¿Deseas Eliminar este medico?")
	if (answer){
		alert("Bye bye!")
		window.location = "eliminarmedico2.php";
	}
	else{
		alert("Cancelado!")
	}
}
//-->
</script>
No se si este bien pero ya no me manda el error del index y ya me dice medico eliminado

GRACIAS¡¡¡
Estimado @luisroronoa, seguís haciéndolo mal, con tu ejemplo. cancele u aceptes se va a ejecutar el action, por otra parte el mensaje de respuesta a la aceptación de eliminar el registro, debería ser generado en tu php, no por el javascript de la validación.

Podría decirte como hacerlo, pero en este caso en particular y en vista de las circunstancias, lo único que conseguiría es fomentar el desconocimiento.

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #10 (permalink)  
Antiguo 19/11/2012, 12:42
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
Respuesta: Mensaje de confirmacion de un registro en javascript

Hola:

¡No te has enterado de nada...!, pero si te vale, enhorabuena.

Resumiendo:

La validación/confirmación debe ser en la etiqueta form desde el evento de envío (submit/onsubmit)...

La función de debe devolver verdadero para que el formulario se envíe, o falso para cancelar el envío...

Reitero que me alegro de que hayas solucionado tu problema, pero creo que no te has enterado del funcionamiento...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 19/11/2012, 15:08
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: Mensaje de confirmacion de un registro en javascript

si le daba cancelar de todas maneras me enviaba y deje el codigo
Código:
<form name=tuformulario action="eliminarmedico2.php" method="post"> 
<label>Cedula:</label>
                    <input  type="text" name="cedula" >

               
                        
                        <input type="button" onclick="pregunta()" value="Enviar"></input>
 
</form>


Y la funcion
Código:
<script language="JavaScript"> 
function pregunta(){ 
    if (confirm('¿Estas seguro de enviar este formulario?')){ 
       document.tuformulario.submit() 
    } 
} 
</script>
Solo así me funciono y ya verifique que el cancelar no hace nada y que cuando acepto se envía

Última edición por luisroronoa; 19/11/2012 a las 15:36
  #12 (permalink)  
Antiguo 19/11/2012, 16:25
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
Respuesta: Mensaje de confirmacion de un registro en javascript

Hola:

Si te sirve, muy bien... pero te recomiendo releer los mensajes y recomendaciones anteriores. La solución que propones no es accesible (simplemente debes usar un botón submit... y trabajar también en el servidor)... y te he pasado un enlace de una página mía... muy popular y referenciada. Que encuentres una solución no siempre significa que hayas solucionado tu problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 19/11/2012, 17:29
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Mensaje de confirmacion de un registro en javascript

Cita:
Iniciado por luisroronoa Ver Mensaje
si le daba cancelar de todas maneras me enviaba y deje el codigo
Código:
<form name=tuformulario action="eliminarmedico2.php" method="post"> 
<label>Cedula:</label>
   <input  type="text" name="cedula" >
  <input type="button" onclick="pregunta()" value="Enviar"></input>
 
</form>
Y la funcion
Código:
<script language="JavaScript"> 
function pregunta(){ 
    if (confirm('¿Estas seguro de enviar este formulario?')){ 
       document.tuformulario.submit() 
    } 
} 
</script>
Solo así me funciono y ya verifique que el cancelar no hace nada y que cuando acepto se envía
Esto me supera @luisroronoa
Me podés decir para que entrás al foro a preguntar si no vas a hacer el mínimo caso de lo que se te explica. Al final lo resolviste pero de la manera más rebuscada posible. Alguien podrá decir, "bueno... pero lo solucionó al fin", a lo que contestaré, pues entonces que la próxima postee en un foro de jardinería, no de javascript.
Es cierto que en algunos casos las posibles soluciones son "materia opinable", pero este de seguro no lo es.
En favor de algún otro usurio que busque una respuesta, la forma correcta es

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>form</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7. <form name="tuformulario" action="eliminarmedico2.php" method="post"  onsubmit="return confirm('Seguro que quiere eliminar el registro');">
  8. <label>Cedula:</label>
  9. <input  type="text" name="cedula" id="cedula" /><br />
  10. <input type="submit" value="Enviar" />
  11. </form>
  12. </body>
  13. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: java, mysql, onclick, php, registros
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 22:59.