Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2008, 11:13
Goomba
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años, 8 meses
Puntos: 0
tengo porblemas con un onblur

hola a todos bueno esta es una funcion hecha con ajax la cual agrega una fila a una tabla.
Código:
function agregarFila(codigo) {
	if(buscarproducto(codigo)) {
		alert("El porducto ya se encuentra en la lista");
	}
	else {
		agregarFilaAjax=nuevoAjax();
		agregarFilaAjax.open("POST", "../../ajax/ventas/producto.php", true);
		agregarFilaAjax.onreadystatechange = function (){
			if(agregarFilaAjax.readyState == 4) {
				xml=agregarFilaAjax.responseXML;
				tam=xml.getElementsByTagName('codigo').length;
				if(tam!=0) {
					tabla=opener.document.getElementById('dte_producto');
					arreglo=new Array();
					arreglo[0]=xml.getElementsByTagName('codigo').item(0).firstChild.data;
					arreglo[1]=xml.getElementsByTagName('producto').item(0).firstChild.data;
					arreglo[2]=xml.getElementsByTagName('unitario').item(0).firstChild.data;
					arreglo[3]="";
					arreglo[4]="";
					fila=creaFila(arreglo, opener.document, 'radio', 'productos[]');
					tabla.appendChild(fila);
					opener.document.getElementById("cant"+arreglo[0]).onblur=function(){calcularTotal(opener.document.getElementById("cant"+arreglo[0]))};
				}
			}
		}		
		agregarFilaAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		agregarFilaAjax.send("codigo="+codigo);
	}
}

function creaFila(arreglo, objeto, tipo, nombre) {
	fila=objeto.createElement('tr');
	for(i=0;i<arreglo.length; i++) {
		if(i==0) {
			columna=objeto.createElement('td');
			inpObjt=crearInput('input',nombre,objeto);
			inpObjt.setAttribute('type',tipo);
			inpObjt.setAttribute('value',arreglo[0]);
			//inpObjt.onchange=function(){mostrarcontenido(this)};
			columna.appendChild(inpObjt);
			fila.appendChild(columna);
		}
		else {
			if(i==2) {
				columna=objeto.createElement('td');
				inpObjt=crearInput('input',"cant"+arreglo[0],objeto);
				//inpObjt.onblur=function(){calcularTotal2("cant"+arreglo[0])};
				inpObjt.setAttribute('type','text');
				inpObjt.setAttribute('value','0');
				inpObjt.setAttribute('maxlength','5');
				inpObjt.setAttribute('size','5');
				inpObjt.setAttribute('id',"cant"+arreglo[0]);
				columna.appendChild(inpObjt);
				fila.appendChild(columna);	
			}
			else {
				if(i==3) {
					columna=objeto.createElement('td');
					inpObjt=crearInput('input',"unit"+arreglo[0],objeto);
					inpObjt.setAttribute('type','text');
					inpObjt.setAttribute('readOnly','readOnly');
					inpObjt.setAttribute('value',arreglo[2]);
					inpObjt.setAttribute('maxlength','10');
					inpObjt.setAttribute('size','7');
					inpObjt.setAttribute('id',"unit"+arreglo[0]);	
					columna.appendChild(inpObjt);
					fila.appendChild(columna);	
				
				}
				else {
					if(i==4) {
						columna=objeto.createElement('td');
						inpObjt=crearInput('input',"total"+arreglo[0],objeto);
						inpObjt.setAttribute('type','text');
						inpObjt.setAttribute('value','0');
						inpObjt.setAttribute('maxlength','10');
						inpObjt.setAttribute('size','7');
						inpObjt.setAttribute('id',"total"+arreglo[0]);
						columna.appendChild(inpObjt);
						fila.appendChild(columna);
					}
					else {
						columna=objeto.createElement('td');
						columna.setAttribute('align','center');
						columna.appendChild(objeto.createTextNode(arreglo[i]));
						fila.appendChild(columna);
					}	
				}
			
			}
			
		}
	}
	return fila;
}

function crearInput(tag,name, objeto){
    if (name && window.ActiveXObject){
      element = objeto.createElement('<'+tag+' name="'+name+'">');
    }
	else{
      element =objeto.createElement(tag);
      element.setAttribute('name',name);
    }
    return element;
}
bueno mi porblema es que esta funcion se ejecuta desde una ventana hija y carga dicha fila en la ventana padre.
Mi porblema es que cuando recotrro la ventana padre en busca de de un elemnto de la pagina que supuestamente se crea carga en la ventana padre via ajax no la encuentra.
Agradesco de antemano toda la ayuda
Atte
Goomba