Controllare lo stato di un campo con AJAX e CakePHP

Foto di Danilo Rizzuti

Foto di Danilo Rizzuti

Immaginiamo di avere un form con una select che mi permette di selezionare la nazione a cui fa riferimento l’articolo.
Voglio consentire che l’utente traduca la nazione selezionata nella sua lingua nativa senza uscire dalla compilazione del form.

create('Article');
echo $form->input('country_id'); // select
echo $form->submit();

Dopo aver chiuso il form


 echo $ajax->observeField( 'ArticleCountryId',
	 array(
			 'url' => array( 'controller'=>'countries','action' => 'traduci' ),
			 'update' => 'trad_nation',
			 'frequency' => 0.2,
	 )
 );

A questo punto è sufficente creare una function “traduci” nel controller “countries” il quale riceverà il valore del campo appena selezionato nella proprietà $this->data

	$this->Country->id = $this->data['Article']['country_id'];

e creare un bel form (sempre con AJAX) che aggiorni il campo tradotto.

Ricordatevi di attivare i component “AJAX” e “Javascript”, oltre a includere

	echo $javascript->link('prototype',false);
	echo $javascript->link('scriptaculous',false);

tra gli script da caricare.

5 commenti:

  1. Roberto Jobet, 4. marzo 2010, 11:57

    Ciao,

    Sto iniziando a sviluppare un mini gestionale con CakePHP e sono un principiante.
    Avrei bisogno di qualche dritta su come avviare il progetto.

    Ti ringrazio per eventuali aiuti.

    A presto,
    Roberto

     
  2. Luizz, 4. marzo 2010, 12:01

    Ben volentieri se mi dai qualche indicazione utile sul tipo di progetto che vuoi intraprendere.

     
  3. Roberto Jobet, 4. marzo 2010, 14:58

    Ciao,

    Ti ringrazio per la risposta.
    Hai un indirizzo e-mail dove ti posso scrivere?

    Roberto

     
  4. Luizz, 5. marzo 2010, 12:10

    Puoi descriverlo anche qui in modo che la problematica da te posta e l’eventuale soluzione adottata potranno essere a disposizione di altri e magari ricevere anche altri contributi.
    Altrimenti puoi postare la definizione del problema sul sito della comunità italiana di Cakephp http://www.cakephp-it.org
    Se invece vuoi una indicazione in privato ti risponderò in e-mail.

     
  5. Roberto Jobet, 5. marzo 2010, 12:55

    Ciao,

    Non avendo ancora sviluppato nulla ho bisogno di chiederti alcune cose di carattere pratico.
    Scrivimi al mio indirizzo che ho indicato così ti posso rispondere.

    Roberto

     

Scrivi un commento: