Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2011, 16h34   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
Par défaut Ajax et Zend pour mettre des données à jour d'un tableau

Bonjour, j'ai un tableau dans lequel j'ai des données, jusque là, c'est classique.

Au dessus de ce tableau, j'ai un menu select où on peut choisir des valeurs et en fonction de la valeur choisit, je souhaiterais que mon tableau soit mit à jour en fonction de ce qu'à demandé le client.

J'ai donc bien créé mes fonctions javascript pour faire l'Ajax:
Code :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function chargeEcole()
{
	var xhr = getXhr();
	var etat = getEtatRequete(xhr);
	xhr.open("GET","",true);
	//xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(null);
}
 
function getXhr()
{
	if(window.XMLHttpRequest) // Firefox et autres
	{
		xhr = new XMLHttpRequest(); 
	}else if(window.ActiveXObject)
	{ // Internet Explorer 
		try 
		{
	    	xhr = new ActiveXObject("Msxml2.XMLHTTP");
	    }catch (e) 
	    {
	    	xhr = new ActiveXObject("Microsoft.XMLHTTP");
	    }
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
		   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		   xhr = false; 
	}
	return xhr;
}
 
function getEtatRequete(xhr)
{
	 if(xhr.readyState  == 4)
	 {
	 	if(xhr.status  == 200) 
	 	{	
		 	return true; 
	 	}
	 }else
	 {
		 return false;
	 }
}
Mon menu select:
Code :
1
2
Secteur : <select onchange="chargeEcole()" name="idSecteur" id="selectSecteur">
...
En temps normal, j'aurais placé un bouton submit qui retournerais sur la même page en envoyant la valeur du select sélectionné puis j'aurais chargé ce dont j'ai besoin mais là je ne sais pas comment faire vu que j'utilise Zend et donc il y a les layouts, les controllers et les actions, tout n'est pas fait dans un seul fichier .php.

Où dois-je placer mon fichier .php sachant que mon action index fonctionne très bien dans le cas où je ne l'aurais pas fais en AJAX?
Le mieux pour moi serait que l'action index de mon controlleur index soit rechargé automatiquement en AJAX.
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 12h03   #2
Membre régulier
 
Inscription : février 2011
Messages : 114
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 114
Points : 77
Points : 77
Bonjour,

peux tu être plus clair sur la façon dont tu as structuré ton code?

Pour ma part, j'ai déjà eu à utiliser du ajax pour mettre à jour une liste "select" de mon formulaire, en fonction de la valeur d'un autre champ.
Voilà comment je m'y suis pris:
  1. création de mes deux champs dans mon formulaire
    Code :
    1
    2
    3
    4
    5
    6
     
    $champ1 = new Zend_Form_Element_Text ('mon_champ1');
    $this->addElement($champ1);
     
    $champ2 = new Zend_Form_Element_Select ('mon_champ2');
    $this->addElement($champ2);
  2. Création du fichier javascript qui contient la fonction qui met à jour la liste en faisant appel à un fichier php. Ce fichier correspond au controlleur dans lequel est définie l'action qui met à jour la liste en allant interroger la base de données
    Code :
    1
    2
    3
    4
     
    ...
    xhr_object.open("GET", "/monControleur/monAction/arg1/val1/arg2/val2, true); // (arg1, val1), .. correspondent aux elements que je veux transmettre en GET pour permettre le lancement de l'action de mon controleur
    ...
  3. dans ma vue (mon fichier .phtml), je rajoute le lien vers mon fichier javascript
    Code :
    1
    2
     
    <script type="text/javascript" src="/js/moDossier/monFichier.js"></script>

Je sais pas si ça répond à ta question car j'ai pas bien compris, j'espère que oui....

Bon courage pour la suite!
flilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h29.


 
 
 
 
Partenaires

Hébergement Web