Foros del Web » Programando para Internet » Javascript »

¿Un botón puede llamar a una función que luego cree el mismo botón?

Estas en el tema de ¿Un botón puede llamar a una función que luego cree el mismo botón? en el foro de Javascript en Foros del Web. Esto es de VBScript, pero lo que pregunto es en esencia lo mismo para los dos códigos (aunque luego puede que den respuestas diferentes). Código: ...
  #1 (permalink)  
Antiguo 15/02/2005, 22:28
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
¿Un botón puede llamar a una función que luego cree el mismo botón?

Esto es de VBScript, pero lo que pregunto es en esencia lo mismo para los dos códigos (aunque luego puede que den respuestas diferentes).

Código:
<body>
<script language="VBScript">
sub anyadir_atributo()
document.write ("<input type=""button"" name=""boton"" value=""Añadir atributo"" onClick=""anyadir_atributo()"">")
end sub
</script>
<input type="button" name="boton" value="Añadir atributo" onClick="anyadir_atributo()">
</body>
Esto me da error. Es un botón en html, que si lo pinchas llama a una función, que entre las muchas cosas que hará, intenta crear un botón igual (que permita llamar a la función otra vez si se quiere).
La primera vez que lo pincho no da error, da error cuando pincho al nuevo botón recién creado.
¿Alguien sabe por qué no va, y si habría alguna forma de hacerlo?

Última edición por un_tio; 15/02/2005 a las 22:29
  #2 (permalink)  
Antiguo 15/02/2005, 22:50
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
He estado investigando, y puedo afirmar que, tanto en javascript como en vbscript, si una función crea un botón, dicho botón no podrá llamar a ninguna otra función (tal vez de modos distintos y usando otro tipo de instrucciones a las que yo he usado se pueda).
  #3 (permalink)  
Antiguo 16/02/2005, 00:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola un_tio:

Usando el DOM puedes crear un botón:
boton = document.createElement("button");

... luego añadirlo a cualquier nodo del documento (por ejemplo el body):
document.body.appendChild(boton);

... o reemplazarlo por otro elemento de la página:
document.getElementById("cualquierElemento").repla ceChild(firstChild, boton);

Y darle los estilos, atributos y funciones que quieras:

boton.style.color = "red";
boton.value = "pinchame";
boton.onclick = function() {alert(this.value);};

Para los eventos en mozilla es aconsejable usar addEventListener (Se ha hablado en estos foros, si te vale, te recomiendo que hagas una búsqueda)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 07:05.