Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/11/2013, 04:42
Profesor_Lambetain
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Parámetros pasados entre funciones que cambian de tipo inexplicablemente.

Cita:
Iniciado por quimfv Ver Mensaje
Misterio ninguno.... creo.


Código Javascript:
Ver original
  1. document.getElementById('iconos').innerHTML="<a href=\"javascript:void(0);\" class=\"pops\" title=\"Descripción...\" onClick=\"javascript:show('"+p+"','"+anchos+"','"+altos+"');\">&#x1F4F7;</a>";

Y si le agregas delimitadores?

show('"+p+"','"+anchos+"','"+altos+"');

Si p es "mmmm",
ancho="nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn,n nnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn"
alto="yyyyyyy,yyyyy,yyyyy,yyyyyyyyy,yyyy"


El resultado de document.getElementById('iconos').innerHTML será

....show(mmmm,nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnn n,nnn,nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn,yy yyyyy,yyyyy,yyyyy,yyyyyyyyy,yyyy)....

es decir una función con n argumentos de entrada....

con delimitadores seria

....show('mmmm','nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnn,nn nnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn','yyyyyyy,yyyyy,yyyyy,yyyyyyyyy,yyyy')....

Es decir solo tres argumentos de entrada. No?

Estas escribiento en el innerHTML luego en el momento que provocas el onclick ya no recuerda que esa parte venia de una variable.... el alert y el typeof de la primera función si saben que estan tratando con el contenido de una variable....

Fijate si el alert que has puesto en show te esta mostrando como ancho el primer grupo de digitos y como alto el segundo de lo que debería ser el ancho....
Muchas gracias quimfv, tu código funciona perfectamente.

Tu post es muy esclarecedor para mí, ya que mi cerebro no llegó a ver que function show recibía numerosos argumentos (muchos más que 3) desde function árbol, y además me has enseñado aspectos sobre el uso de comillas simples que no los tenía bien "establecidos" en mi mente. En otras palabras: no conocía la función "delimitadora" de las comillas simples.

Mil gracias nuevamente.