Crear un formulario dinámico en PHP que permita agregar campos de manera dinámica (a través de un botón) y permita guardarlos de igual manera
Los formularios estáticos funcionan cuando la información tiene una longitud fija y la sabemos al crear el formulario; pero, ¿qué pasa cuando la cantidad de datos puede variar y no sabemos cuántos datos habrá?
Con PHP es muy fácil construir un formulario dinámico que permita agregar campos al presionar un botón.
[]
Los arreglos son posibles dentro de los formularios de HTML, puede haber varios campos que apunten a un arreglo usando el nombre del input
seguido de []
por ejemplo:
<input name="nombres[]">
De esa manera podemos tener campos infinitos que estén dentro de un arreglo; después de tenerlos guardados en un arreglo los dibujamos recorriendo el arreglo.
Veamos el ejemplo.
Vamos a crear un formulario dinámico con PHP que podrá tener campos infinitos. El código es el siguiente:
En este caso tenemos una lista de nombres. Por defecto es un arreglo vacío, pero al enviar el formulario, se creará la lista gracias al input
que está fuera del foreach.
Si la lista tiene elementos (eso pasa una vez que alguien presiona el botón de Agregar campo) entonces se dibujan cuando sucede el ciclo, y así se permite agregar varios campos.
Como ves, el formulario se está enviando al mismo archivo; esto es para poder dibujar los campos o inputs dinámicos.
También estamos detectando cuál botón fue presionado y si es el botón de “Guardar lista” se muestra la lista de nombres.
Puedes probar el código aquí.
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…
En este artículo se presenta una guía para imprimir un PDF a partir de una…
En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…
Esta web usa cookies.