Foros del Web » Programando para Internet » Javascript »

Sincronismo en carga de iframes

Estas en el tema de Sincronismo en carga de iframes en el foro de Javascript en Foros del Web. Hola, tengo una página que tiene un número variable de iframes. La página (asp) va creando los iframes, y cada iframe, en el evento onLoad ...
  #1 (permalink)  
Antiguo 04/11/2007, 11:39
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años
Puntos: 9
Sincronismo en carga de iframes

Hola, tengo una página que tiene un número variable de iframes. La página (asp) va creando los iframes, y cada iframe, en el evento onLoad asigna los valores a los campos de dentro (un formulario por cada frame) copiando valores de la página principal

Código:
Pagina-principal (formPrincipal)
    - iframe (onLoad = copia valores desde formPrincipal)
    - iframe (onLoad = copia valores desde formPrincipal)
    ..............
    - iframe (onLoad = copia valores desde formPrincipal)
El problema es que cuando son muchos frames, los últimos aparecen con los campos en blanco tras la carga, es decir, no ha funcionado la copia de valores.

Sospecho que es un problema de asincronismo, es decir, el codigo onLoad se ejecuta antes de que haya terminado de cargarse el iframe y al intentar copiar el valor se encuentra con que el campo aun no existe, ¿puede ser? Por que si pongo alert para ver por donde va la ejecucion del programa siempre se carga todo bien

He intentado proteger la copia con document.getElementById(campo) y preguntando si campo != null antes de asignarle valor, pero sigue funcionando mal, no se si es que el campo si existe pero por algun motivo aun njo puede asignarle valor, en fin, que estoy bastante perdido, a ver si me podeis dar alguna pista de como solucionarlo

Gracias
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:32.