Hola Piduco... por lo que veo estas queriendo hacer que aparezcan los campos
dependiendo de lo que seleccionen en el list... para hacer eso tendrias que
usar el atributo "onchange" del select y que este llame a la funcion
javascript para que muestre una u otra cosa... te recomiendo que uses
jquery, si queres qeu los campos esten ocultos tendrias que usar css
(display: none) y dependiendo de lo que se seleccione cambias el atributo
(toggle dislplay: none, display: block). Ajax no utilizarias... porque tus
campos estarian en la pagina, pero no los mostrarias.
Otra forma es por medio de ajax pero que la funcion que llama el  select al
cambiar llame a uno u otro contenido, espero que te encamines un poco a lo
que queres hacer.
Saludos!!

El 1 de septiembre de 2011 18:03, Piduco <[email protected]>escribió:

> he leido ejemplos asi que consisten en refrescar un div cuando se
> envia un formulario con ajax, pero yo necesito que a partir de un
> combobox(cargado previamente con 'list') se cargue cierta parte del
> formulario
>
> podria meter los input en div, ¿pero como hago para que me aparezcan
> ocultos(los div) y despues con ajax mostrarlos dependiendo del
> contenido de mi combobox?
>
> On 1 sep, 05:40, deldan <[email protected]> wrote:
> > Te dejo un link a un artículo sobre este tema :
> http://deldan.com/2010/02/formulario-ajax-en-cakephp/
> >
> > On 31 ago, 21:16, Cristian haunsen <[email protected]> wrote:
> >
> >
> >
> >
> >
> >
> >
> > > Necesitaras hacerlo con javascript. Te recmiendo Jquery para lograrlo
> >
> > > El 31 de agosto de 2011 12:32, Piduco <[email protected]>
> escribió:
> >
> > > > Tengo un modelo User el cual esta relacionado con dos modelos
> > > > perfiles : Store y Persona
> >
> > > > Este es mi controlador add() de UsersControllers
> >
> > > > function add() {
> > > >                if (!empty($this->data)) {
> > > >                        $this->User->create();
> > > >                        if
> > > > ($this->User->saveAll($this->data,array('validate'=>'first'))) {
> > > >                                $this->Session->setFlash(__('The user
> has
> > > > been saved', true));
> > > >                                $this->redirect(array('action' =>
> 'index'));
> > > >                        } else {
> > > >                                $this->Session->setFlash(__('The user
> could
> > > > not be saved. Please,
> > > > try again.', true));
> > > >                        }
> > > >                }
> > > >                $groups =
> $this->User->Group->find('list',array('fields' =>
> > > > array('Group.id','Group.name')));
> > > >                $categories =
> $this->User->Store->Category->find('list');
> > > >                $this->set(compact('groups','categories'));
> > > >        }
> >
> > > > En el controlador uso el metodo saveall() para guardar datos de
> > > > diferentes tablas en mi formulario, ahora les mostrare el formulario:
> >
> > > >        <?php echo $this->Form->create('User',array('type' =>
> 'file'));?>
> > > >                <fieldset>
> > > >                        <legend><?php printf(__('User Record', true));
> > > > ?></legend>
> > > >                <?php
> > > >                echo
> $this->Form->input('group_id',array('label'=>'¿Que
> > > > eres?'));
> > > >                echo
> > > > $this->Form->input('Store.name',array('label'=>'Nombre'));
> > > >                echo $this->Form-
> > > > >input('Store.category_id',array('label'=>'Categoria'));
> > > >                echo $this->Form-
> > > > >input('Persona.name',array('label'=>'Nombre'));
> > > >                echo $this->Form-
> > > > >input('Persona.lastname',array('label'=>'Apellidos'));
> > > >                echo
> > > > $this->Form->input('username',array('label'=>'Usuario'));
> > > >                echo
> > > > $this->Form->input('password',array('label'=>'Contraseña'));
> >
> > > >                ?>
> > > >                </fieldset>
> > > >        <?php echo $this->Form->end(__('Submit', true));?>
> >
> > > > Mi consulta parte aqui, fijense en el primer input del formulario, es
> > > > un campo del modelo User que esta relacionado con un modelo Group que
> > > > obtiene los nombres de 2 tipos de grupo: Tiendas o personas:
> >
> > > > Mi idea es que a partir de lo que elija el usuario aqui se muestre o
> > > > no esto:
> >
> > > > SI ELIJO Tiendas me muestre :
> > > >                echo
> > > > $this->Form->input('Store.name',array('label'=>'Nombre'));
> > > >                echo $this->Form-
> > > > >input('Store.category_id',array('label'=>'Categoria'));
> > > >                //Y EL RESTO DEL FORMULARIO
> >
> > > > SI ELIJO Personas me muestre :
> >
> > > >                echo $this->Form-
> > > > >input('Persona.name',array('label'=>'Nombre'));
> > > >                echo $this->Form-
> > > > >input('Persona.lastname',array('label'=>'Apellidos'))
> > > >                //Y EL RESTO DEL FORMULARIO
> >
> > > > --
> > > > Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es"
> de
> > > > Grupos de Google.
> > > > Para publicar una entrada en este grupo, envía un correo electrónico
> a
> > > > [email protected].
> > > > Para anular tu suscripción a este grupo, envía un correo electrónico
> a
> > > > [email protected]
> > > > Para tener acceso a más opciones, visita el grupo en
> > > >http://groups.google.com/group/cakephp-es?hl=es.
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> [email protected].
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> [email protected]
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-es?hl=es.
>
>

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a