Bonjour,

Je viens vous soumettre problème que je n'arrive pas à résoudre depuis quelques jours.
Je travail en ce moment sur une interface web pour le logiciel de liste de diffusion SYMPA; mon but est de faire s'afficher l'alphabet en lien hypertexte et quand on clique sur par exemple la lettre "a", toutes les listes de diffusion commençant par "a" s'affiche.

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
 
<A href="javascript:;" onClick="display('a');">A</a> // liens pour la lettre "A" par exemple
 
<script type="text/javascript">
	var MonTableau = new Array(); //on crée un tableau
	var cpt = 0; // compteur à 0
	</script>
 
	 [% FOREACH l = which %] // boucle en perl (code spécifique a SYMPA)
 
	<script type="text/javascript">
	 MonTableau[cpt] = "[% l.key %]";  // on place le nom de mes listes dans le tableau
	  cpt = cpt+1; // incrémentation du compteur
		</script>
 
 [% END %] // code perl
 
	 <script type="text/javascript">
function display(x){
	var reg = "/^"+x+"/" ;  // on crée l'expression régulière :c'est ici que ça marche pas
 
 
	for (i=0; i<MonTableau.length; i++) {
			if (reg.exec(MonTableau[i])!=null){	
			 document.write(MonTableau[i]);} // on affiche le résultat 
 
	}
 
}
</script>
Mon problème est au niveau de l'expression régulière, si je met ça, cela ne fonctionne pas:
Par contre là ça fonctionne mais ça implique que je doit me taper la création de cette variable pour toutes les lettres de l'alphabet...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var reg = /^a/  // toujours l'exmple du "a"

Un autre problème: quand j'affiche mes listes avec document.write(MonTableau[i]); cela m'ouvre une nouvel page blanche avec ma liste de nom, comment faire pour qu'elle s'affiche directement sur la page courante (en dessous des liens par exemple).

J'espère avoir était le plus clair possible, n'hésiter pas à me poser des questions!
Merci d'avance