Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2008, 14:28
Goomba
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Problemas con opener.document ayuda porfavor.

hola a todos bueno priemro explico mi porblema.
Sucede que estoyt creando un formulario de modificacion de cliente la cual muestra los datos del cliente mas los calefactores asociados a tal.

la carga de datos se hace mediante ajax y DOM.
el esquema del formulario es el siguiente una primera seccion donde se muestra el formulario con los datos cargados debajo de eso se genera una tabla con los calefactores que dicho cliente posee y debajo de la tabla un boton eliminar.

para cargar los datos del cliente se abre una ventana popup en la cual genero la busqueda y retorno los datos. nmi problema esta en el boton eliminar.
Código:
var botoneliminar=createInput('input','eliminar', opener.document);
botoneliminar.setAttribute('type','button');
botoneliminar.setAttribute('value','Eliminar Calefactor');
botoneliminar.onclick=function() {
   alert(opener.document.getElementById('rut').value);
}
divCalefactor.appendChild(botoneliminar);
mi porblema esta aca el alerto solo lo hace mientras la ventana popup de busqueda se encuentra abierta pero si la cierro el codigo deja de funcionar
si pongo
alert(document.getElementById('rut').value);

no funciona de ninguna forma como puedo hacer esto
pa que funcione acontinuacion pongfo el codigo.

Código:
function cargarCalefactorCliente(rut, objeto) {
	var divCalefactor = objeto.getElementById('calefactores');
	divCalefactor.innerHTML="";
	var calefactorClienteAjax=nuevoAjax();
	calefactorClienteAjax.open("POST", "../../ajax/calefactor/buscarCalefactor.php",true);	
	calefactorClienteAjax.onreadystatechange=function() {	
		if (calefactorClienteAjax.readyState==4) {
			var xml = calefactorClienteAjax.responseXML;
			var tam= xml.getElementsByTagName('idCalefactor').length;
			var tabla=objeto.createElement('table');
			tabla.setAttribute("border","1");
			var cuerpoTabla=objeto.createElement('tbody');
			var fila=objeto.createElement('tr');
			//columna 1
			var columna=objeto.createElement('td');
			columna.setAttribute("width","10%");
			columna.appendChild(objeto.createTextNode(' '));
			fila.appendChild(columna);
			//columna 2
			var columna=objeto.createElement('td');
			columna.setAttribute("width","48%");
			columna.appendChild(objeto.createTextNode('Modelo'));
			fila.appendChild(columna);
			//columna 3
			var columna=objeto.createElement('td');
			columna.setAttribute("width","40%");
			columna.appendChild(objeto.createTextNode('Linea'));
			fila.appendChild(columna);
			cuerpoTabla.appendChild(fila);
			for(i=0; i< tam;i++) {
				var idCalefactor =xml.getElementsByTagName('idCalefactor').item(i).firstChild.data;
				var modelo =xml.getElementsByTagName('nombreModelo').item(i).firstChild.data;
				var linea =xml.getElementsByTagName('lineaModelo').item(i).firstChild.data;
				var fila=objeto.createElement('tr');
				//columna 1
				var columna=objeto.createElement('td');
				var rutCheck=createInput('input', 'calefactor[]', objeto);
				rutCheck.setAttribute('type','radio');
				rutCheck.setAttribute('value',idCalefactor);
				/*rutCheck.onclick=function() {
					alert("hola");
				}*/
				columna.appendChild(rutCheck);
				fila.appendChild(columna);
				//columna 2
				var columna=objeto.createElement('td');
				columna.appendChild(objeto.createTextNode(modelo));
				fila.appendChild(columna);
				//columna 3
				var columna=objeto.createElement('td');
				columna.appendChild(objeto.createTextNode(linea));
				fila.appendChild(columna);
				cuerpoTabla.appendChild(fila);
			}
			tabla.appendChild(cuerpoTabla);
			divCalefactor.appendChild(tabla);
			//if(objeto=opener.document){
				var botoneliminar=createInput('input','eliminar', opener.document);
				botoneliminar.setAttribute('type','button');
				botoneliminar.setAttribute('value','Eliminar Calefactor');
				botoneliminar.onclick=function() {
					//if(noChecked(opener.document.getElementById('modcliente'),'calefactor[]', 'calefactor')) {
						alert(opener.document.getElementById('rut').value);
						//alert(getValueChecked(document.getElementById('modcliente'), 'calefactor[]'));
					//}
				}
				divCalefactor.appendChild(botoneliminar);
			//}
		
		}
	}
	calefactorClienteAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	calefactorClienteAjax.send("rut="+rut);
}