Foros del Web » Programando para Internet » Javascript »

refrescar div

Estas en el tema de refrescar div en el foro de Javascript en Foros del Web. Buenas tengo el siguiente codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function objetoAjax ( ) {     var xmlhttp = false ;   ...
  #1 (permalink)  
Antiguo 21/07/2012, 08:06
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
refrescar div

Buenas
tengo el siguiente codigo:
Código Javascript:
Ver original
  1. function objetoAjax(){
  2.     var xmlhttp=false;
  3.     try {
  4.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.     } catch (e) {
  6.         try {
  7.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.         } catch (E) {
  9.             xmlhttp = false;
  10.         }
  11.     }
  12.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }
  18.  
  19. function enviarDatosEmpleado(){
  20.     //valores de los inputs
  21.     id=document.forchat.id.value;
  22.     online=document.forchat.online.value;
  23.    
  24.     //instanciamos el objetoAjax
  25.     ajax=objetoAjax();
  26.     //usando del medoto POST
  27.     //archivo que realizará la operacion
  28.     //actualizacion.php
  29.     ajax.open("POST", "actualizacion.php",true);
  30.     ajax.onreadystatechange=function() {
  31.         if (ajax.readyState==4) {
  32.             //mostrar los nuevos registros en esta capa
  33.             divResultado.innerHTML = ajax.responseText
  34.             //mostrar un mensaje de actualizacion correcta
  35.             divFormulario.innerHTML = "<p style=\"border:1px solid red; width:400px;\">La actualizaci&oacute;n se realiz&oacute; correctamente</p>";
  36.         }
  37.     }
  38.     //muy importante este encabezado ya que hacemos uso de un formulario
  39.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  40.     //enviando los valores
  41.     ajax.send("id="+id+"&online="+online)
  42. }

Me gustaria cambiar el mensaje de que todo se realizo correctamente por un refrescado de un div que contiene un formulario es decir, cuando yege a esta parte del codigo:
if (ajax.readyState==4) {
//mostrar los nuevos registros en esta capa
divResultado.innerHTML = ajax.responseText
//mostrar un mensaje de actualizacion correcta
divFormulario.innerHTML = "<p style=\"border:1px solid red; width:400px;\">La actualizaci&oacute;n se realiz&oacute; correctamente</p>";
}
En vez de mostrar un mensaje directamente refrescar el div sin parpadear ni nada pero solo cuando llega ese momento como podria hacer esto??? es que de ajax no entiendo muxo. un saludo gracias de antemano.
  #2 (permalink)  
Antiguo 21/07/2012, 10:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: refrescar div

Eso es porque te falta comprobar el ajax.status == 200, consulte un manual de AJAX actualizado, es el error más común de principiantes en AJAX.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/07/2012, 03:00
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: refrescar div

No creo q no me explique bien no me da errores pero en vez de el codigo que tengo puesto para que salga un mensaje de que todo fue correcto quiero que me aga un actualizado del div, que codigo deberia poner para que al ser todo correcto se me refresque el div??? es que busque pero nada mas sale para refrescar cada x tiempo. un saludo.
  #4 (permalink)  
Antiguo 22/07/2012, 03:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: refrescar div

Hola:

Si recibes nuevos datos y no quieres borrar los anteriores, en vez de usar:

divResultado.innerHTML = ajax.responseText;

... deberías anexar esos nuevos resultados cambiando la forma de asignar los datos:

divResultado.innerHTML += ajax.responseText;

No estoy seguro de que sea eso lo que quieres...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 22/07/2012, 03:56
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: refrescar div

No no es eso esque nose como explicarme jaja, gracias de todas formas, aber si esta vez se me entiende, tengo en un archivo dos formularios con distintos con un if si es una cosa sale uno y al cambiarlo deberia salir el otro entonces cuando se me registran los datos en la base quiero que este se me actualice con un refresh pero sin tiempo ni nada solo cuando llegue ala parte del codigo que indica que todo es correcto y asi ya salga el otro formulario, espero explicarme bien. un saludo gracias x contestar.
  #6 (permalink)  
Antiguo 22/07/2012, 11:02
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: refrescar div

Cita:
Iniciado por edie8 Ver Mensaje
tengo en un archivo dos formularios con distintos con un if si es una cosa sale uno y al cambiarlo deberia salir el otro entonces cuando se me registran los datos en la base quiero que este se me actualice con un refresh pero sin tiempo ni nada solo cuando llegue ala parte del codigo que indica que todo es correcto y asi ya salga el otro formulario, espero explicarme bien. un saludo gracias x contestar.
@edie8
Analizando un poco
tengo en un archivo dos formularios con distintos con un if
con distintos que?
un if en un form?
si es una cosa sale uno y al cambiarlo deberia salir el otro
si es una cosa sale uno... ok, un condicional a partir de la respuesta Ajax...mmmhh, ó una condición según que form proceses? y si cambia... que? el ajax.responseText ó el usaste el otro form y sale el otro? ni yo me entiendo ya
entonces cuando se me registran los datos en la base quiero que este se me actualice con un refresh pero sin tiempo ni nada solo cuando llegue ala parte del codigo que indica que todo es correcto y asi ya salga el otro formulario

que se actualice que cosa, el div, la página , el form (un form que se actualiza?)

Sinceramente no se entiende nada.
Sin embargo voy a intentar adivinar
  • Tenés una página con dos formularios
  • El primero está visible
  • El segundo en una capa con display: none;, es decir oculto a la vista del usuario
  • Procesás el primer form que actualiza una base de datos, esto lo hacés por medio de ajax.
  • Si la actuallización de la bd es correcta (es decir lo que se realizó correctamente es la ejecución de tu SQL), envía como respuesta un, por ejemplo, echo "ok";
  • A partir de ahi, en lugar de mostrar ningún mensaje, cambiás la propiedad display de la capa que oculta el segundo form a "block"

Código Javascript:
Ver original
  1. if(ajax.responseText == 'ok'){
  2. document.getelementById('capa_que_oculta_el_form').style.display = 'block';
  3. }else{
  4. divResultado.innerHTML = "error";
  5. }

aunque como señalé, estoy adivinando

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 22/07/2012, 16:37
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: refrescar div

Si mas o menos es eso pero no es un div oculto es un div solo q contiene un include y quiero q me actualice el div ya que es el q contiene el include y salga el formulario: el cual pasa por un if($con==0) sale pa conectar y si es uno el otro formulario pero nose como hacer para q una vez mandado ese formulario x submit salga el de desconectar me explicao aora mejor?? perdon por las molestias. un saludo gracias.
  #8 (permalink)  
Antiguo 22/07/2012, 18:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: refrescar div

Hola:

Los includes no se refrescan, pero tu parte Ajax del servidor puede después de modificar los datos, tener el mismo include... pero se torna complejo el caso, y el responseText podría resultar inapropiado...

De todos modos, si la petición Ajax tiene esos datos que pretendes refrescar, podrías recogerlos directamente...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 23/07/2012, 15:20
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: refrescar div

Gracias solucione el codigo al final pero no era exactamente como keria pero me ayudasteis bastante la verdad un saludo y gracias.

Etiquetas: ajax, formulario, html, input, php, refrescar
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 16:00.