Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Eliminar y recargar pagina

Estas en el tema de Eliminar y recargar pagina en el foro de Javascript en Foros del Web. Hola tengo el codigo y me elimina perfectamente pero quiero que cuando borre se recargue la pagina o no se muestre lo eliminado @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 16/10/2014, 15:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 1 mes
Puntos: 1
Eliminar y recargar pagina

Hola

tengo el codigo y me elimina perfectamente pero quiero que cuando borre se recargue la pagina o no se muestre lo eliminado

Código Javascript:
Ver original
  1. <script>
  2.  
  3. function eliminar(Id){
  4.    
  5.     if (confirm("Esta seguro que desea Eliminar Evaluacion")){
  6.     var contenedor;
  7.     contenedor = document.getElementById('contenedor');
  8.        
  9.     ajax=nuevoAjax();
  10.     ajax.open("GET", "../LogicaPresentacion/LogicaElimieval.php?Id_Resu="+Id,true);
  11.     ajax.onreadystatechange=function() {
  12.         if (ajax.readyState==4) {
  13.             contenedor.innerHTML = ajax.responseText
  14.         }
  15.     }
  16.      ajax.send(null)
  17.    }
  18.  }
  19.  
  20. </script>


Mil gracias
  #2 (permalink)  
Antiguo 16/10/2014, 16:08
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar y recargar pagina

No tendría sentir que hagas una petición asíncrona y desees recargar la página, de hecho, lo primero se utiliza precisamente para evitar que ocurra lo segundo. Ahora bien, para ocultar el elemento eliminado, te basta con asignar a su propiedad display el valor none y listo, ya no será visible.

Código Javascript:
Ver original
  1. elemento.style.display = "none";

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 16/10/2014, 16:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Eliminar y recargar pagina

Gracias por responder

Soy muy novato en la programacion me puedes ayudar

Donde pongo este codigo

Gracias
  #4 (permalink)  
Antiguo 16/10/2014, 16:31
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar y recargar pagina

Al momento de recibir la respuesta, es decir:

Código Javascript:
Ver original
  1. if (ajax.readyState==4){
  2.     //Acá
  3. }

Ten en cuenta que, en lugar de elemento, debe de ir el elemento real, al que deseas ocultar.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 16/10/2014, 16:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Eliminar y recargar pagina

hola lo pongo y sigue Igual

Código Javascript:
Ver original
  1. <script>
  2. function nuevoAjax(){
  3.     var xmlhttp=false;
  4.     try {
  5.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  6.     } catch (e) {
  7.         try {
  8.             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  9.         } catch (E) {
  10.             xmlhttp = false;
  11.         }
  12.     }
  13.  
  14.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  15.         xmlhttp = new XMLHttpRequest();
  16.     }
  17.     return xmlhttp;
  18. }
  19. //---------------------------------------------------
  20. </script>
  21. <script>
  22.  
  23. function eliminar(Id){
  24.    
  25.     if (confirm("Esta seguro que desea Eliminar Evaluacion")){
  26.     var contenedor;
  27.     contenedor = document.getElementById('contenedor');
  28.    
  29.    
  30.        
  31.     ajax=nuevoAjax();
  32.     ajax.open("GET", "../LogicaPresentacion/LogicaElimieval.php?Id_Resu="+Id,true);
  33.     ajax.onreadystatechange=function() {
  34.         if (ajax.readyState==4) {
  35.             contenedor.style.display = "none"
  36.            
  37.         }
  38.     }
  39.    
  40.      ajax.send(null)
  41.    }
  42.  }
  43.  
  44. </script>

Código HTML:
Ver original
  1. <td valign="top" align="left" width="45">
  2. <a href="javascript:void(0)" title="Eliminar" onClick="eliminar('<?php echo $reg["Id_Resu"];?>')"><img src="http://www.forosdelweb.com/f13/Presentacion/image/eliminar.png" width="38" height="31" border="0"></a>
  3. </td>


logicaeliminaeval.php

Código PHP:
Ver original
  1. <?php
  2. include ('../LogicaPresentacion/connect.php');
  3. $sql="delete from Resultado
  4. where
  5. Id_Resu=".$_GET["Id_Resu"]."";
  6. $res=mysql_query($sql,$con);
  7. echo "<script type=''>
  8.     alert('Los datos del empleado fueron eliminados correctamente');
  9.     window.location='index.php';
  10. </script>";
  11. ?>

no me da si borra pero no se refresca la pagina toca con f5
  #6 (permalink)  
Antiguo 17/10/2014, 00:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar y recargar pagina

En la llamada a la función, añade un parámetro más que haga referencia al elemento al que le estás dando el clic:

Código HTML:
Ver original
  1. onclick="eliminar('<?php echo $reg["Id_Resu"];?>', this)"

Ese this representará al enlace. Ahora bien, como deseas eliminar a toda la fila en la que se encuentra el enlace, deberás de tomar primero al elemento que lo contiene que es el <td>, que representa a la columna y luego al elemento que contiene a este último, es decir, al <tr> que representa a toda la fila. Luego, simplemente ocúltalo de la manera en que te lo indiqué.

Código Javascript:
Ver original
  1. function eliminar(Id, self){
  2.     if (confirm("¿Está seguro de que desea eliminar esta evaluación?")){
  3.         var padre = self.parentNode.parentNode; //Tomo a la fila entera    
  4.         ajax=nuevoAjax();
  5.         ajax.open("GET", "../LogicaPresentacion/LogicaElimieval.php?Id_Resu="+Id, true);
  6.         ajax.onreadystatechange=function() {
  7.             if (ajax.readyState==4 && ajax.status==200) {
  8.                 padre.style.display = "none";
  9.             }
  10.         }
  11.         ajax.send(null);
  12.     }
  13. }

Y nuevamente te lo repito: No tiene sentido que recargues la ventana si vas a usar Ajax. La idea de usar Ajax es precisamente para no tener que recargar la ventana, estarías yendo en contra de lo usual. Por cierto, te sugiero desinfectar el dato que llega al archivo PHP antes de ejecutar la consulta.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 17/10/2014, 07:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Eliminar y recargar pagina

Hola

mil gracia ya me funciono pero veo que tienes razón

mira lo que quiero es esto

yo hago una consulta de historial desde mysql, El me trae todo el formulario en una tabla,
lo que deso es que cuando quiera borrar algun registro al darle click a la imagen x se elimine de base de datos y que en la pagina que estoy desaparesca ese registro

no se si era la mejor forma con ajax pero el codigo que me pasastes me sirvio si ves que no es la mejor opción me puedes explicar como lo hago y con que metodo


milgracias
  #8 (permalink)  
Antiguo 17/10/2014, 13:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar y recargar pagina

Así como lo has dicho, es una buena forma, de hecho, también suelo hacerlo así. La única desventaja de hacerlo así es que no surtirá efecto con los pocos usuarios (con respecto al total) que suelen desactivar JavaScript de su navegador, puesto que el uso de una petición asíncrona (Ajax), implica el uso forzoso de JavaScript. Podrías intentar adaptar esto, creando un formulario para cada fila o enviando el id en la ruta del enlace, así la recibes en el archivo PHP y eliminas el dato sin ningún problema. Pero no te preocupes, pues la cantidad de usuarios que desactivan JavaScript de su navegador es mucho menor que la cantidad de usuarios que no lo hacen.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 17/10/2014, 13:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Eliminar y recargar pagina

Bueno

gracias me sirvió de mucho

Etiquetas: ajax, html, php
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 03:16.