Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Funciones

Estas en el tema de Funciones en el foro de Frameworks JS en Foros del Web. Buena Tarde, No conozco mucho la estructura de ajax... Lo he usado unas cuantas ocaciones para cosas sencillas como hacer un update sin recargar la ...
  #1 (permalink)  
Antiguo 12/09/2011, 15:57
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Funciones

Buena Tarde,

No conozco mucho la estructura de ajax... Lo he usado unas cuantas ocaciones para cosas sencillas como hacer un update sin recargar la página y cosas por el estilo; esta vez requiero algo que me complicó la vida por unas buenas hora y no he podido encontrar la solución. Puede que no esté usando buenas prácticas de desarrollo por lo que pido disculpas. Sin más preambulo, les explico cual es mi inconveniente:

Deseo hacer que cuándo cambie un checkbox me cargue una página que me actualice un dato(en la base de datos) - Esto lo sé hacer - además necesito que la respuesta de esta página se le asigne a un div en otra página, me explico mejor:

página1

Código PHP:
<td style="text-align: center; vertical-align: middle;width: 5.5%">
   <input type="checkbox" name="<?php echo $rowP['id_'.$tabla]."_".$x?>" id="<?php echo $rowP['id_'.$tabla]."_".$x?>" onchange="javascript: priorizarValores(<?php echo "'$tabla'".", ".$rowP['id_'.$tabla].", ".$x?>)" />
</td>
Código Javascript:
Ver original
  1. function priorizarValores(table, p, v){
  2.     var ajax = nuevoAjax();
  3.     ajax.open("GET", "guardaPriorizacion.php?table="+table+"&priorizar="+p+"&variable="+v, true);
  4.     ajax.onreadystatechange=function(){
  5.         if (ajax.readyState==4){
  6.             var prueba = nuevoAjax();
  7.             prueba.open("GET", "footTable.php", true);
  8.             prueba.onreadystatechange=function(){
  9.                 if(prueba.readyState==4){
  10.                     document.getElementById('divPrueba1').innerHTML = ajax.responseText;
  11.                 }
  12.             }
  13.             prueba.send(null);
  14.         }
  15.     }
  16.     ajax.send(null);
  17. }

Actualizar

Código PHP:
<?php
session_start
();
if(isset(
$_SESSION['info1'])){
   echo 
1;
}
?>
footTable.php
Código PHP:
<td style="width: 5.5%; font-size: 11px">
  <
div id="divPrueba1"></div>
</
td
Esta es la respuesta que me da el firebug:

Código:
GET http://localhost/girecs/secciones/gruposInteres/...rizacion.php?table=riesgo&priorizar=6&variable=1  200 OK  4ms	
GET http://localhost/girecs/secciones/gruposInteres/footTable.php  200 OK   33ms

[Detener en este Error]
document.getElementById(
document.getElementById(divPrueba1').innerHTML = ajax.responseText;  
Les agradezco la ayuda que me puedan brindar.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 13/09/2011, 07:38
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
Sonrisa Respuesta: Funciones

Saludos

Si estas usando iframes en la aplicación puedes probar con esto:

Código PHP:
window.parent.frames[2].document.getElementById('divPrueba1').innerHTML 2
Intentalo, y me cuentas como te va.
  #3 (permalink)  
Antiguo 13/09/2011, 07:41
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Funciones

Cita:
window.parent.frames[2].document.getElementById('divPrueba1').innerHTML = 2;
Para qué sirve el frames[2]? o
puede ser cualquier numero aquí [?]
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 13/09/2011, 07:46
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
Sonrisa Respuesta: Funciones

Saludos

frames[2] hace referencia al 3er iframe que se encuentra en el DOM del navegador, indica la 3ra posicion porque se cuenta desde 0. Con mayor claridad, window.parent.frames es un arreglo de los iframes que tienes.

:D
  #5 (permalink)  
Antiguo 13/09/2011, 07:50
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Funciones

ummm, me quedó claro lo del frames[*]... ya probé y sí me sirvió muchas gracias! así quedó el código

Código Javascript:
Ver original
  1. function priorizarValores(table, p, v){
  2.     var ajax = nuevoAjax();
  3.     ajax.open("GET", "guardaPriorizacion.php?table="+table+"&priorizar="+p+"&variable="+v, true);
  4.     ajax.onreadystatechange=function(){
  5.         if (ajax.readyState==4){
  6.             var prueba = nuevoAjax();
  7.             prueba.open("GET", "footTable.php", true);
  8.             prueba.onreadystatechange=function(){
  9.                 if(prueba.readyState==4){
  10.                     window.parent.frames[3].document.getElementById('divPrueba'+v).innerHTML = ajax.responseText;
  11.                 }
  12.             }
  13.             prueba.send(null);
  14.         }
  15.     }
  16.     ajax.send(null);
  17. }
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175

Etiquetas: ajax, funciones, 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 19:12.