2
« en: Viernes 9 de Marzo de 2007, 20:57 »
Hola a todos.
Tengo dos problemillas exactamente, y tratan acerca de la creacion
dinamica de nodos tipo button y la asociacion con funciones creadas
tambien dinamicamente.
En el primer caso, he logrado que al clickar un boton se genere otro
con btn=createElement("button"); y tambien agrego con exito una
funcion a document.scripts[0].text que se lanzara en el onclick del
nuevo boton porque lo asocio con btn.onclick=mifuncion;
Bien, hasta aqui funciona. Pero lo que quiero conseguir es que cada
vez que clickas el boton "generador", se creen botones con el texto
Boton 1, Boton 2, Boton 3 ... (que esto tambien lo he conseguido), y
que cada boton ejecute la funcion mifuncion1, mifuncion2, mifuncion3..
Bueno, pues esto no lo consigo, y es porque no se como expresar en
javascript algo como btn.onclick=mifuncion+numbtn; He probado
encerrandolo entre comillas dobles, con eval, asignando una variable
con el texto, etc.
El problema es que el parser de javascript parece que espera encontrar
despues del igual el nombre exacto de la funcion, sin permitir que lo
obtenga desde una variable. Si hubiera un sistema que me permitiera
hacer un preprocesado del texto antes de interpretarlo, estaria resuelto.
El segundo caso consiste en que ahora creo yo dinamicamente todos los
nodos de una pagina desde dentro de un script, incluido el nodo HTML,y
los voy añadiendo (si, es una pesadez) en jerarquia, para finalmente
reemplazar mi nodo HTML recien construido por el actual del browser con
un replaceChild(newhtml,oldhtml). Esto funciona ok, la pagina cambia,
pero dentro de la nueva pagina tengo un boton con su funcion que no
hace lo que le indico que haga; he hecho lo mismo que sí funciono en el
caso anterior, con la diferencia que antes no generé un nodo script, sino
que solamente agregue mi funcion.
Estos dos casos me estan volviendo loco, he probado de todo y no lo
consigo, y no se si es por ignorancia o por limitaciones del javascript.
Agradeceria cualquier ayuda.
Salu2.