Foros del Web » Programando para Internet » Javascript »

Errores por verificar es estado de un div y un iframe

Estas en el tema de Errores por verificar es estado de un div y un iframe en el foro de Javascript en Foros del Web. Hola a todos, Esto de no tener un manual completo a mano sobre javascript, me complica bastante. Mi problema ahora surge porque estoy queriendo hacer ...
  #1 (permalink)  
Antiguo 23/11/2009, 08:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
Errores por verificar es estado de un div y un iframe

Hola a todos,
Esto de no tener un manual completo a mano sobre javascript, me complica bastante. Mi problema ahora surge porque estoy queriendo hacer una pagina que mediante un unico boton de input file me permita subir varias imagenes (no al mismo tiempo, sino de una en una), de tal forma que al terminar de cargar la ultima se me desactiva el boton de subidas, por precaucion. Esta piola el sistema sin necesidad de utilizar jquery, algo bastante complicado. Bueno, esto que hice funciona en IExplorer, pero surgen errores en la barra de estado como 'se requiere un objeto' o 'Línea: 1 Error: 'opener.document' es nulo o no es un objeto'
y en el Firefox funciona a medias.
Tengo un <div id="upload_area1"> .... </div> en la pagina madre. Alli mediante un php se debe insertar un iframe
<iframe name="marco1" id="marco1" width="120" height="130" border="0" scrolling="no" frameborder="0" src="'.$mypath.'remover.php?imgdel='../uploads/TM39.jpg'&imgshow='/ajax_image_upload/uploads/TM39.jp'&campo='Imagen_1'&img_up='TM39.jpg'">..... </iframe>

y luego dentro de esto se debe insertar lo siguiente:

<script language="javascript">
function activa_boton(){
var par; var patern; var cont;
for(var i=1; i<=4; i++) {
par=parent.document.getElementById("upload_area"+i ).innerHTML;
patern=new Array();
patern=par.match(/No hay imagen./g);
if(patern) {
parent.document.getElementById("file_1").disabled = false;
break;
} else {
cont = window.parent.frames["marco"+i].document.body.innerHTML;
patern=new Array();
patern=cont.match(/Imagen eliminada|No se pudo eliminar/g);
if(patern) {
parent.document.getElementById("file_1").disabled = false;
break; }}}}
function activa_ya() {
parent.document.getElementById("file_1").disabled = false;
}
</script>
<CENTER><img src="gd_imager.pl?img=/ajax_image_upload/uploads/TM39.jpg&base=/ajax_image_upload/scripts/base.png&1258980072" border="0" /><br>
<a href="remover.php?archivo=../uploads/TM39.jpg" onclick="activa_ya();">Remover</a></CENTER>
<input name="Imagen_1" id="Imagen_1" type="hidden" value="TM39.jpg">
<script>
activa_boton();
</script>

Por supuesto que hay valores que son variables, solo lo muestro con valores fijos para que sea entendible. Ahora bien, es el ultimo codigo, lo que va dentro de los iframes que me produce error y por ejemplo el par=parent.document.getElementById("upload_area"+i ).innerHTML; me produce un error del tipo 'opener.document' es nulo o no es un objeto. No se de donde sale opener.
Otro: 'parent.document.getElementById(...)' es nulo o no es un objeto. ¿Porqué?
Y por último el boton examinar del input file en el Firefox casi no permite seleccionar porque solo en un pequeña area de dicho boton permite seleccionar alguna imagen, porque pasa esto?.
Gracias por ayudar a todos, espero que pronto consigamos un manual el internet que sea bien completo, solo los foros nos ayudan.
  #2 (permalink)  
Antiguo 23/11/2009, 08:48
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Errores por verificar es estado de un div y un iframe

Perdon, el opener.document me sale porque lo modifique donde decia:

par=parent.document.getElementById("upload_area"+i ).innerHTML;

puse:

par=opener.document.getElementById("upload_area"+i ).innerHTML;

Pero bueno, el caso es que en ninguna de las dos formas funciona.
  #3 (permalink)  
Antiguo 24/11/2009, 16:17
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Errores por verificar es estado de un div y un iframe

Bueno, ya veo que nadie responde este asunto, pero ya halle la solución. Ocurre que no se puede ejecutar dicho javascript dentro del iframe sino fuera de el, ademas para chequear todos los div "upload_area" primero tiene que imprimirse todos los div upload_areas que seran chequeados para que el script lo pueda testear bien, sino larga error.

Por ejemplo, puede ir el código script antes del iframe:


<div id="upload_area2">
<script language="javascript">
function activa_boton(){
var par; var patern; var cont;

par=parent.document.getElementById("upload_area"+i ).innerHTML;
patern=new Array();
patern=par.match(/No hay imagen./g);
if(patern) {
echo 'parent.document.getElementById("file_1").disabled = false;
break;
} else {
cont = window.parent.frames["marco"+i].document.body.innerHTML;
patern=new Array();
patern=cont.match(/Imagen eliminada|No se pudo eliminar/g);
if(patern) {
echo 'parent.document.getElementById("file_1").disabled = false;
break;
}
}
}
}
</script>
<iframe name="marco2" id="marco2" width="120" height="130" border="0" scrolling="no" frameborder="0">

</iframe>
<script>
activa_boton();
</script>

No hay imagen.<br /><br />
</div>
<div id="upload_area3">
<iframe name="marco3" id="marco3" width="120" height="130" border="0" scrolling="no" frameborder="0">
</iframe><br /><br />
</div>

y de esta forma pude comprobar todos los div.
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.