Foros del Web » Programando para Internet » Javascript »

Problemas con el Parent

Estas en el tema de Problemas con el Parent en el foro de Javascript en Foros del Web. Hola a todos, tengo un problema: quiero almacenar el contenido de una celda de una ventana padre y compararlas con una ventana hija, pero uso ...
  #1 (permalink)  
Antiguo 28/11/2008, 09:41
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
De acuerdo Problemas con el Parent

Hola a todos, tengo un problema:

quiero almacenar el contenido de una celda de una ventana padre y compararlas con una ventana hija, pero uso el "parent" y no pasa nada, me dice que "Requiere un Objeto"

for (var i=1;i< parent.document.getElementById("ObservacionesActa" ).rows.length;i++){
textos = parent.document.getElementById('ObservacionesActa' ).rows[i].cells[4].innerHTML;
}

Por favor invoco a su ayuda, ya queme varias neuronas..

Gracias de antemano.
  #2 (permalink)  
Antiguo 28/11/2008, 09:54
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Problemas con el Parent

Es al revés:
Código PHP:
document.getElementById('algo').parentNode 
  #3 (permalink)  
Antiguo 28/11/2008, 09:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con el Parent

Hola amigo,

lo probare, te aviso.

Gracias.
  #4 (permalink)  
Antiguo 28/11/2008, 10:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con el Parent

Con "ventana padre y ventana hija" me suena a popup . En ese caso creo que en lugar de parent debería ser opener .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 28/11/2008, 10:01
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Problemas con el Parent

Para saber si estás en el nodo correcto, podés usar esto:
Código PHP:
alert(document.getElementById('algo').parentNode.nodeName); 
Y si no es el correcto, podés ir subiendo:
Código PHP:
document.getElementById('algo').parentNode.parentNode 
  #6 (permalink)  
Antiguo 28/11/2008, 10:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Problemas con el Parent

Edito: Puede que David(hola!) tenga razón, yo estaba hablando de las celdas de la tabla ;)
  #7 (permalink)  
Antiguo 28/11/2008, 10:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con el Parent

Me disculpo amigos, me explique mal...

En efecto la ventana hija es un popup,

y la ventana que lo contiene es la principal, en cada uno hay una tabla, lo que quiero es comparar de la tabla de la ventana hija una celda que tiene un valor con la tabla de la ventana padre, estoy recorriendo la ventana hija con un For I que busca las celdas en la hija(popup) y comparo con el for de cada celda de la ventana padre con otro for X el problema es que no se como hacer para recoger el valor de la ventana padre y compararla con el valor recogido de la ventana hija por ejemplo si dato1(i) = dato2(x) entonces.. algo asi.

Gracias.
  #8 (permalink)  
Antiguo 28/11/2008, 10:28
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con el Parent

a la hora de poner mi for para el padre y recoger el dato el browser me dice que no hay objeto..que se esperaba objeto.

Gracias.
  #9 (permalink)  
Antiguo 28/11/2008, 10:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con el Parent

Y... ¿has probado con lo que te dije? Usa opener en lugar de parent.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 28/11/2008, 10:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con el Parent

hola, para saber los datos de la tabla en la ventana padre seria algo asi??

for (x=1;x< opener.document.getElementById('tabla_datos_01').rows.le ngth;x++){

nothing..!!

gracias.
  #11 (permalink)  
Antiguo 28/11/2008, 10:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con el Parent

Sí, debería funcionar. ¿Podrías poner el código de cómo abres el popup? ¿Y cuál es el código de la tabla en la ventana principal?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 28/11/2008, 10:51
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con el Parent

este para abrir la ventana.

function CargarObservacionesNuevo() {
var acto= document.getElementById('TiposActa').value;
var estacion=document.getElementById("estacion").value ;
var sTitulo = "Registro de Observaciones";
var sF = 'unadorned:no;';
sF+='help:no;';
sF+='status:no;';
sF+='scroll:yes;';
sF+='resizable:no;';
sF+='dialogWidth:505px;';
sF+='dialogHeight:340px;';
window.showModalDialog("Depuracion/DetalleObservacion.jsp?acto="+acto+"&estacion="+es tacion+"",sTitulo,sF);
}



este es el codigo del padre que tiene la tabla


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" import="reniec.rrcc.depuracion.comun.bean.ActasObs ervadasBean"%>
<%@ page import="java.util.Iterator"%>
<jsp:useBean id="listaActasDepuracion" class="java.util.ArrayList" scope="request"/>
<jsp:useBean id="S_ListaFormato" class="java.util.ArrayList" scope="session"/>
<script type="text/javascript" src="js/Depuracion/DepuracionUtil.js"></script>


<form name="formdepuracionobs" id="formdepuracionobs">
<table id ="tabla_datos_01" width="100%" border="1" cellpadding="0" cellspacing="0" class="CajaTexto">

<tbody id="cuerpoTabla">
<tr>
<td ><div align="center">Estacion</div></td>
<td ><div align="center">Observacion</div></td>
<td ><div align="center">Sub Obsservacion</div></td>
<td ><div align="center">Eliminar</div></td>
</tr>
<%
int i=0;

for(Iterator iteraActas = listaActasDepuracion.iterator(); iteraActas.hasNext(); ) {
ActasObservadasBean actasObservadasBean = (ActasObservadasBean)iteraActas.next();
if (actasObservadasBean!=null){
%>
<tr id="Depuracion" >
<td><div align="center"><%=actasObservadasBean.getDe_estaci on()%></div></td>
<td><div align="center"><%=actasObservadasBean.getDe_observ acion()%></div></td>
<td><div align="center"><%=actasObservadasBean.getDe_subobs ervacion()%></div></td>
<td><div align="center">
<input name="Borrar <%=i%>" id="Borrar <%=i%>" type="button" value="Eliminar" onclick="Javascript: DeleteRow(this);agrega_dom('<%=actasObservadasBean .getCo_estacion()%>:<%=actasObservadasBean.getCo_o bservacion()%>:<%=actasObservadasBean.getCo_subobs ervacion()%>','ListTemp','3')"/>
</div></td>
<td ><%=actasObservadasBean.getCo_estacion()%>:<%=acta sObservadasBean.getCo_observacion()%>:<%=actasObse rvadasBean.getCo_subobservacion()%></td>
</tr>
</tbody>
<%
}i++; }%>
</table>
</form>


tabla_datos_01 es el Id de la tabla que contiene los datos - tabla padre
  #13 (permalink)  
Antiguo 28/11/2008, 10:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con el Parent

Esta es la funcion que esta en la hija o ventana popup desde aqui llamo

function buscar_registros_contenidos() {
var textos;
var otratabla;
for (var i=1;i< document.getElementById("ObservacionesActa").rows. length;i++) {
textos = document.getElementById('ObservacionesActa').rows[i].cells[2].innerHTML;
if (textos == " " && textos == ""){
}else{
//alert("Valor de la celda 2 de obs: " +textos);
}
alert("El chacal 3");
//for (x=1;x< parent.document.getElementById('tabla_datos_01').r ows.length;x++){
// otratabla = document.getElementById('tabla_datos_01').rows[x].cells[4].innerHTML;
// alert(otratabla);
// if (otratabla == textos){
// alert(otratabla + ' ' + textos);
// ocultarFila(x,false);
// }
//}
}
}
/*Funcion para ocultar una fila de una tabla*/
function ocultarFila(num,ver) {
dis= ver ? '' : 'none';
tab=document.getElementById('ObservacionesActa');
tab.getElementsByTagName('tr')[num].style.display=dis;
}
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 20:05.