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.

echo $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 comments for “Controllare lo stato di un campo con AJAX e CakePHP

  1. Roberto Jobet
    5 marzo 2010 at 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

  2. 5 marzo 2010 at 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.

  3. Roberto Jobet
    4 marzo 2010 at 14:58

    Ciao,

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

    Roberto

  4. 4 marzo 2010 at 12:01

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

  5. Roberto Jobet
    4 marzo 2010 at 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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *