2011-04-12 27 views
5

Estoy trabajando en un proyecto usando Zend Framework.Zend Framework - Agregar nuevo elemento de entrada usando javascript

Estoy creando un formulario en el que los usuarios pueden agregar un conjunto de elementos presionando un signo +.

Zend framework utiliza subformularios y decoradores para obtener una matriz de valores de un formulario.

Estos mostrarán cuando se visualiza la página

¿De qué manera los nuevos campos creados con Javascript se integran en ese modelo?

Respuesta

5

La mejor demostración de campos añadir dinámicamente en el cliente a un Zend_Form con el que estoy familiarizado proviene de Jeremy Kendall:

http://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/

El resultado de la técnica consiste en añadir/Llamar a un método preValidation() en el formulario para verificar la publicación de los campos que faltan en el formulario. Si encuentra alguno de esos campos, entonces se agregan al objeto de formulario. En el momento en que se llaman isValid() y getValues(), todos los objetos Zend_Form_Element ya se han adjuntado al formulario, por lo que el procesamiento se ejecuta normalmente.

+0

Es un ejemplo muy agradable y concreto :) ¡Gracias! –

+0

Mi placer, me alegro de que haya ayudado. ;-) –

2

Una sugerencia sería definir todos los campos de entrada que desee proporcionar mediante el formulario zend.

Pero cuando se muestra el formulario que podría ocultar ciertos campos y hacerlos visibles haciendo clic en +.

Creo que este es el enfoque más simple porque para agregar decoradores y cosas así necesitarías cambiar los archivos php en el lado del cliente y esto no es posible.


Otra sugerencia, podría definir varios formularios. Al hacer clic en + se redirige al usuario a otro formulario con un campo adicional.

Cuestiones relacionadas