Bonjour à tous,

J'aimerai utiliser la fonction observeField mais le problème est que quand je l'utilise, toute ma page se recharge. Il me semble que ça fait la même chose lors que j'utilise tout autre fonction ajax.

Voici mon code :

Le controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class ClubsController extends AppController {
 
	var $name = 'Clubs';
	var $helpers = array('Html', 'Form', 'Ajax', 'Habtm','Javascript', 'Session');
	var $components = array('RequestHandler');
 
	function index() {
		$this->Club->recursive = 0;
		$this->set('clubs', $this->paginate());
	}
 
	// Méthode utilisée pour afficher la vue
	function rechercher_home() {
		$optionVilles = $this->getOptionsVilles();
		$this->set('optionsVillesDepart', $optionVilles['optionsVillesDepart']);
		$this->set('optionsVillesDestination', $optionVilles['optionsVillesDestination']);
		$this->set('depart', $optionVilles['depart']);
		$this->set('paysDestination', $optionVilles['paysDestination']);
	}
 
	//Méthode pour mettre à jour les données
	function update_ville_select() {
		if(!empty($this->data['Club']['paysDestination'])) {
			$options = $this->requestAction('/villes/getDesc/'.$this->data['Club']['paysDestination']);
		}else if(!empty($this->data['paysDestination'])) {
			$options = $this->requestAction('/villes/getDesc/'.$this->data['paysDestination']);
		}
		$this->set(compact('options'));
	}
}
La vue :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div id="contentLayoutIntro">
	<div class="searchClub">
		<div class="searchClubLabel">Trouver un club de vacances</div>
		<div class="searchSelectForm" id="searchSelectForm">
			<?php echo $form->create(null, array('url' => array('controller' => 'clubs' , 'action' => 'rechercher')))?>
			<?php echo $form->input('Ville de D&eacute;part', array('options' => $depart));?>
				<?php echo $form->input('Pays de Destination', array('id'=>'paysDestination', 'options' => $paysDestination, 'empty' => 'Selectionnez un pays de destination')) ?> 
				<?php echo $form->label('villeDestination');?>
				<?php echo $form->select('villeDestination', null );?>
				<?php echo $ajax->observeField('paysDestination', array('url'=>'/clubs/update_ville_select', 'update'=>'ClubVilleDestination'));  ?>
				<input type="submit" id="btnSearchSelectForm" name="btnSearchSelectForm" value="Recherche"/>
			<?php echo $form->end(); ?>
		</div>
	</div>
</div>
Merci d'avance pour l'aide apportée !

Cordialement,

Onita

EDIT : J'ai l'impression que ça marche à moitié / ça met à jour qqc dans la page ensuite page blanch sans recharger la page