Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2012, 22:36
Avatar de kivpson
kivpson
 
Fecha de Ingreso: marzo-2011
Mensajes: 37
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Datos de la forma en un decorador

Tuve el mismo inconveniente hace algún tiempo pero lo solucioné usando jQuery, en este caso tienes 2 elementos form:

- estado
- ciudad

De donde estado debe invocar una función mediante onchange, pasando como parámetro su value, así mediante ajax puedes hacer el llamado de los datos a ingresar en el elemento ciudad.

El elemento ciudad debe tener especificado como false la opción setRegisterInArrayValidator o te dará un problema con el validador:

Código PHP:
Ver original
  1. $this->createElement('select','ciudad')
  2.         ->setLabel('Ciudad:')
  3.         ->setDescription('Seleccione su ciudad de origen.')
  4.         ->setDecorators($tu_decorador)
  5.             ->setRegisterInArrayValidator(false)
  6.         ->setRequired(true)
  7.         ->addValidator('NotEmpty');

De está forma Zend Form tomará los datos que agregues con jQuery.

La parte JS con jQuery no la incluyo ya que es algo muy común que puedes encontrarlo en cualquier parte amigo, para agregar el evento onchange a el selector de estados, bastará con:

Código Javascript:
Ver original
  1. jQuery(document).ready(function() {
  2.     $(#estado).bind('onchange', function(){
  3.         var id_estado = this.val();
  4.         // aca el nombre de la funcion que emplees para traer los datos
  5.         // y asignarlos al selector ciudad
  6.     });
  7. });

Espero esto te sea de ayuda.

Éxitos amigo.