Bonjour tout le monde.

voilà, toujours dans le cadre d'une application web développée en asp (avec le code behind rédigé en Dataflex), je suis arriver à un point dans lequel il faut que j'affiche 3 listes de sélection, et pour bien faire, il faudrait que celles-ci soient liées.

Je m'explique, j'ai une première liste contenant les code des pays:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<select name="Cli__Py" id="Cli__Py" size="1" onChange="go()">
    <option value="B" >B</option>
    <option value="CH" >CH</option>
    <option value="D" >D</option>
    <option value="F" >F</option>
    <option value="L" >L</option>
    <option value="NL" >NL</option>
</select>
La fonction go est celle reprise du tuto adaptée que voici (voir lien plus bas):
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
31
32
33
34
35
36
37
38
39
40
41
function getXhr(){
	var xhr = null; 
	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 go(){
	var xhr = getXhr();
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			leselect = xhr.responseText;
		// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById('Cli__Cdp').innerHTML = leselect;
		}
	}
	// Ici on va voir comment faire du post
	xhr.open("POST","ajaxLivre.php",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	alert('test');
	// ne pas oublier de poster les arguments
	// ici, l'id de l'auteur
	sel = document.getElementById('Cli__Py');
 
	Cli__Py = sel.options[sel.selectedIndex].value;
	xhr.send("Cli__Py="+Cli__Py);
}
Dans la deuxième liste de sélection, lors de la création de la page, je récupère tout les codes postaux stockés dans ma base de données.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<select title="" name="Cli__Cdp" id="Cli__Cdp" onChange="ChangeCdp">
    <%oCliEntry.call "Msg_CodePostal" %>
</select>
Voici la procédure "Msg_CodePostal":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Procedure CodePostal
        String sResult
        Send Clear of oCdp_DD
        Move 0 to CDP.CDP
        Send Find of oCdp_DD GE 1
        While (Found) 
            Send WriteHtml  ("<option value="+CDP.CDP+">"+CDP.CDP +" - "+CDP.VIL+" - ("+(Trim(CDP.PY))+")</option>")
            Send Find of oCdp_DD GT 1
        Loop
End_Procedure
Et alors la troisième liste contiendra le nom des villes associées aux codes postaux de la liste précédente. Même principe pour la création de celles-ci que pour la création de la liste des codes postaux.

j'ai fait un petit tour sur le forum, et trouver quelques informations au sujet de la mise à jour de liste. Entre autre le lien suivant.

Le problème, est que tout le code est rédigé, pour la partie non Javascript en php, et que, n'ayant jamais eu de cours de développement web, je n'y comprend donc rien.
Alors ma question est la suivante:
Quelqu'un pourrait-il m'expliquer comment cela fonctionne, et comment je pourrais intégrer tout cela dans une page asp?
Si je comprend bien les choses, la parties de code se trouvant dans le fichier "ajaxLivre.php" va créer de manière dynamique la liste associée au auteur. Le problème dans mon cas, j'ai mes éléments dans des tableaux, et ne sais donc pas comment faire appel à la création de la liste sans la retrouver deux fois dans mon tableau...

(En gros, je suis complètement paumer, au secours...)

Merci pour l'aider que vous pourrez m'apporter afin de voir un peu plus clair dans tout ça.