Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
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 07/12/2011, 22h34   #1
Invité régulier
 
Homme Mickael Outhier
Employé de SAV en TV HiFiVideo et Webmaster en Freelance
Inscription : septembre 2011
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Mickael Outhier
Âge : 27
Localisation : France, Jura (Franche Comté)

Informations professionnelles :
Activité : Employé de SAV en TV HiFiVideo et Webmaster en Freelance
Secteur : Conseil

Informations forums :
Inscription : septembre 2011
Messages : 25
Points : 5
Points : 5
Par défaut Ajax : faire "le tri" dans une réponse

bonsoir à tous !

D'abord pardonnez moi si je ne me suis pas présentez
je susi inscrit depuis quelque temps et je ne me rappel
pas avoir posté de presentation.

Je Mickael, jeune web master autodidacte en herbe,
même si j'ai pour habitude d'utiliser des CMS pour
"faire" mes sites dynamiques, ma créativités sans limite
m’oblige souvent à "mettre les main dans le code".

Bien voici mon problème d'Ajax :
En fait j'ai réalisé un formulaire de soumission de lieu.

1ere étape : l'utilisateur sélectionne la catégorie du lieu (exemple : église, salle des fêtes...)
selon la réponse le script interroge la BDD par le biais de la page PHP qui renvoi la
réponse qui est ensuite insérée dans le sélecteur "pays" par le biais de getElem...innerHTML.

Jusqu'à là tout va bien, la liste des pays en fonction de la catégorie apparait bien dans le sélecteur "pays".

2eme étape : l'utilisateur sélectionne le pays pour afficher la liste des départements, et c'est là que ça coince car la liste des départements s'affiche bien, mais la liste des pays se tape l'incrust' dans le sélecteur... logique !!!

J'ai bien essayé tout un tas de structure conditionnelles mais rien y fait...
là je suis vraiment paumé... comment faire en sorte de "trier" les données réceptionnées ???

Faut il le faire au niveau de mon script JS ou au niveau de ma page PHP ?

Je précise que j’utilise la méthode GET.
Voici d'abord le code Javascript, si besoin je peu vous donner l’ensemble du code HTML et ou le code PHP de la page interrogée.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
<script type="text/javascript">
 
 
function getXMLHttpRequest() {
	var xhr = null;
 
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
 
	return xhr;
}
 
 
// 1. Mise en place du script Ajax (instance de l'objet xhr et suivie de la requete)
 
 
function request(callback) { 
	var xhr = getXMLHttpRequest(); 
 
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { 
			callback(xhr.responseText);										 
		}
	};
 
// 2. Définition des Variables 
--> on recupere la valeur de la selection par le biais de document.getElementById, (Id = id du sélecteur)
	var $catego = encodeURIComponent(document.getElementById("filtrecatego").value); 
	var $pay = encodeURIComponent(document.getElementById("filtrepay").value);
	var $departement = encodeURIComponent(document.getElementById("filtredepartement").value); 
	var $ville = encodeURIComponent(document.getElementById("filtreville").value);
 
// 3. Requete au pres de "reponse_ajax.php" par le biais de GET (
	xhr.open("GET", "rep_gmafp_ajax.php?catego=" + $catego + "&pay=" + $pay + "&departement=" + $departement + "&ville=" + $ville, true);
 
	xhr.send(null);
}
 
// Option 1 : requete par le biais de "Categorie"
 
function read_from_catego(readpay) { // fonction activée par la selection d'une catégorie
 
	document.getElementById("filtrepay").innerHTML = readpay;
	// on insere la valeur HTML de la réponse dans l'ID par le biais de innerHTML.
}	
 
 
function read_from_pay(readdep) { // fonction activée par la selection d'une catégorie
 
	document.getElementById("filtredepartement").innerHTML = readdep;
	// on insere la valeur HTML de la réponse dans l'ID par le biais de innerHTML.
}
 
</script>
Merci d'avance pour votre aide !!
Soundboy39 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 23h36   #2
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
bonsoir .
pourrais tu poster le contenu de ta page php ?
comme cela, on pourrait voir ce qui est reçu lors de la requête
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 13h21   #3
Invité régulier
 
Homme Mickael Outhier
Employé de SAV en TV HiFiVideo et Webmaster en Freelance
Inscription : septembre 2011
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Mickael Outhier
Âge : 27
Localisation : France, Jura (Franche Comté)

Informations professionnelles :
Activité : Employé de SAV en TV HiFiVideo et Webmaster en Freelance
Secteur : Conseil

Informations forums :
Inscription : septembre 2011
Messages : 25
Points : 5
Points : 5
Par défaut résolue

bonjour rotrevrep,

merci pour ta réponse, en fait j'ai peu résoudre le problème
en me basant sur
ce tutoriel.

En fait grâce à ça j'ai pu créer différentes fonctions qui s’exécute
en fonction du changement d'état d'un sélecteur en particulier,
de cette manière chaque requete envoi sa propre variable,
au final je reçois uniquement le résultat demandé...

J'ai donc remplacé le script JS de départ par ce script et ça fonctionne nickel !
Soundboy39 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h37.


 
 
 
 
Partenaires

Hébergement Web