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”