Programación GoibelaTodo sobre programación |
||
Inicio
JavaScript Crear elementos dinamicamente |
||
Nuevos Articulos
Nuevos Comentarios |
Crear elementos dinamicamenteJueves, 31-03-2011 17:39 - Leer comentarios - Comentar Vamos a ver la forma de crear elementos dinámicamente. Aunque en el ejemplo se habla de un caso muy habitual, crear input del tipo file para que el usuario vaya eligiendo archivos, puede hacerse también con cualquier elemento HTML.Os pongo el ejemplo, con un enlace para que lo veais funcionado, y comentamos algunas líneas de código: Texto plano
2- Creamos un elemento, un div que va a contener a los demás elementos creados y lo asignamos a la variable contenedor. 3- Le damos un id que servirá para, si es necesario, poder borrarlo. 4- Añadimos con appendChild el elemento que acabamos de crear al fieldset. 5- Creamos otro elemento, en este caso es un input. 6- Indicamos el tipo de input que queremos: file o button y un name para que cuando mandemos los datos del formulario a otra página, podamos recoger el valor introducido. 7- Añadimos el botón que hemos creado al contenedor creado anteriormente. 8- A este botón le asignamos un value y un name. También se podría añadir al input file (te hará falta para recogerlo en la página que procese el formulario) pero en el ejemplo no es necesario. 9- Asignamos al evento onclick del botón la función borrar y el pasamos como parámetro el nombre del propio botón. 10- Utilizamos removeChild para eliminar el div con todo lo que tiene dentro. Os habreis fijado que el name del botón y el id del div son iguales. Los que hallais visto el código funcionando, os parecerá que no queda demasiado bien que los nuevos elementos se coloquen debajo del botón "Crear", sería mejor que se colocaran encima. Supongo que es cuestión de gustos, pero solucionarlo es muy sencillo. Habeis visto que hemos mandado un parámetro (onclick="crear(this)") y lo hemos recogido en la función (function crear(obj)) pero luego no lo hemos utilizado para nada. Pues ahora es el momento de hacerlo para añadir el contenedor delante del botón "Crear" utilizando insertBefore, la línea 4 quedaría así: Texto plano
ComentariosNo se permiten comentarios en este momento. |
RSS Feeds |