Foros del Web » Programando para Internet » Javascript »

Problema con Objetos

Estas en el tema de Problema con Objetos en el foro de Javascript en Foros del Web. Hola amigos Tengo una funcion que la llamo desde un evento de un objeto html, le paso como parametro a la funcion un indice y ...
  #1 (permalink)  
Antiguo 31/08/2009, 11:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Problema con Objetos

Hola amigos
Tengo una funcion que la llamo desde un evento de un objeto html, le paso como parametro a la funcion un indice y 3 id's de objetos como lo muestro en la funcion:
Código:
function funcion(key, idObj1, idObj2, idObj3)
{
	//Objetos
        var div = document.getElementById(idObj1); //Div donde se mostrara los resultados
        var txt = objTxt; //document.getElementById("txtB"); //Caja de Texto de la Busqueda
        var cmb = document.getElementById(strCmb); //DropDownList        
        //Declaración de Arrays 
        .....
	Codigo
	......
        strHtml = "<table border = '1'><tr><td><table ><tr><td><table  >";
                    
        for(x=0; x<arrItems.length; x++)        
                strHtml += "<tr><td id = '" + arrItems[x][0] + "' onmouseover='CambioEstilo(this,1);' onmouseout='CambioEstilo(this, 2);' onclick='Selecciona(this.id, \"" + div.id + " \" , \"" + cmb.id + " \", \"" + txt.id + " \" );' >" + arrItems[x][1] + "</td></tr>";
	
        strHtml += "</table></td>  <td valign='top' ><input id='btnCierra' type='button' value=' ' class='Cerrar' onclick='Selecciona(-1, \"" + div.id + " \" , \"" + cmb.id + " \", \"" + txt.id + " \" );' /></td></tr></table></td></tr></table>";
        div.style.visibility = 'visible';
        div.innerHTML = strHtml;        
}
hast aahi funciona correctamente, obtengo mis objetos y acceso a sus propiedades correctamente, el problema lo tengo en la siguiente funcion aesuq es invocada en mi variable strHtml que es otro objeto HTml una tabla..
Código:
function Selecciona(intVal, strDiv, strCmb, strTxt)
{   
	var div = document.getElementById(strDiv);
        var txt = document.getElementById(strTxt);
        var cmb = document.getElementById(strCmb);
        ....
	codigo
	...
}
en esta funcion ya no puedo ver los objetos html que envio vomo parametro, en esta funcion div, txt y cmb las tengo como null, alguien me podria indicar mi error o algun comentario..

saludos
  #2 (permalink)  
Antiguo 31/08/2009, 12:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Problema con Objetos

Hola

Yo pondría unos alert para levantar esas variables. Si sus valores son los correctos miraría cuando espacias las comillas

Aquí tienes todo
Código javascript:
Ver original
  1. function funcion(key, idObj1, idObj2, idObj3)
  2. {
  3.     //Objetos
  4.         var div = document.getElementById(idObj1); //Div donde se mostrara los resultados
  5.         var txt = objTxt; //document.getElementById("txtB"); //Caja de Texto de la Busqueda
  6.         var cmb = document.getElementById(strCmb); //DropDownList    
  7. alert(div.id + " - " + txt.id + " - " + cmb.id)  
  8.         //Declaración de Arrays
  9.         .....
  10.     Codigo
  11.     ......
  12.         strHtml = "<table border = '1'><tr><td><table ><tr><td><table  >";
  13.                    
  14.         for(x=0; x<arrItems.length; x++)        
  15.                 strHtml += "<tr><td id = '" + arrItems[x][0] + "' onmouseover='CambioEstilo(this,1);' onmouseout='CambioEstilo(this, 2);' onclick='Selecciona(this.id, \"" + div.id + "\" , \"" + cmb.id + "\", \"" + txt.id + "\");' >" + arrItems[x][1] + "</td></tr>";
  16.    
  17.         strHtml += "</table></td>  <td valign='top' ><input id='btnCierra' type='button' value=' ' class='Cerrar' onclick='Selecciona(-1, \"" + div.id + "\" , \"" + cmb.id + " \", \"" + txt.id + "\");' /></td></tr></table></td></tr></table>";
  18.         div.style.visibility = 'visible';
  19.         div.innerHTML = strHtml;        
  20. }
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 31/08/2009 a las 12:52 Razón: Error de sintaxis, espaca no existe :-)
  #3 (permalink)  
Antiguo 31/08/2009, 12:44
 
Fecha de Ingreso: septiembre-2008
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Problema con Objetos

Listo amigos..
encontre la solucion al problema..
estaba asi
Código:
...
strHtml += "<tr><td id = '" + arrItems[x][0] + "' onmouseover='CambioEstilo(this,1);' onmouseout='CambioEstilo(this, 2);' onclick='Selecciona(this.id, \"" + div.id + " \" , \"" + cmb.id + " \", \"" + txt.id + " \" );' >" + arrItems[x][1] + "</td></tr>";
...
y debe ser asi
Código:
...
strHtml += "<tr><td id = '" + arrItems[x][0] + "' onmouseover='CambioEstilo(this,1);' onmouseout='CambioEstilo(this, 2);' onclick='Selecciona(this.id, \"" + div.id + "\" , \"" + cmb.id + "\", \"" + txt.id + "\" );' >" + arrItems[x][1] + "</td></tr>";
...
Realmente no se nota la diferencia, pero el JavaScript si.... , el detalle es los espacios entre cmb.id + " \" debe ser cmb.id + "\"
Gracias por la respuesta Adler
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 14:59.