Bonjour à tous,

je construis un tableau dans un JSP (grace à une4 TagLib) qui possède plusieurs colonnes auxquelles je voudrais rajouter un filtre pour n'afficher que certaines valeurs.

Mon tableau récupère des valeurs depuis une base de données Oracle, souvent le tableau est immense, je l'affiche sur plusieurs pages, alors je voudrais que mon filtre fasse des requêtes pour qu'il me propose toutes les valeurs possibles (et non que celles de la page en cours).

Je voudrai donc utiliser AJAX pour qu'il me créé une FORM SELECT dans lequel s'affiche le résultat d'une requete SQL.

J'ai déjà créé la Form :

Code JAVASCRIPT : 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
 
function test(val){
 
	var mypara = document.getElementById("contentList"+val); //+val
	//document.getElementById("butt"+val).disabled=true;
 
	var selbox = document.createElement("SELECT"); 
	selbox.name = "listeContenu"+val; 
	selbox.multiple = "multiple"; 
	selbox.size = "7";
 
	selbox.title ="titre";
	// thead correspond aux title de la table, tbody aux contenus 
	var table = document.getElementsByTagName('tbody');
 
// accès aux <tr class... du 1er élément tbody
	var listetr = table[0].childNodes;
	var test1; 
	var taille = listetr.length;
 
	alert(taille);
	//alert(listetr[0].childNodes[3].childNodes[0].nodeValue);
 
	for (var i=0 ; i<taille; i++){
 
		test1 = listetr[i].childNodes[val].childNodes[0].nodeValue;
		selbox.options[i] = new Option(test1, test1);
 
	}
 
	mypara.appendChild(selbox);	
}

Mais comme ceci, il ne me propose que ce qui est déja affiché dans ma JSP.

Je sais (à peu près) commencer avec AJAX, d'après les tutos et les threads. J'ai donc instancier un xhr. Et j'arrive à appeler une Servlet Java qui m'affiche en console ma requete et son résultat.

Code JAVASCRIPT : 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
 
function sendQuery(champ, table){
 
 
	var xhr = getXMLHttpRequest();
 
 
	// select distinct 'champ' from 'table'
	xhr.open('POST', './testForm', true);
 
	alert('send '+champ+ ' '+table);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send("variable1="+champ+"&variable2="+table+"");
 
 
}

Mais je voudrai exploiter ce résultat dans ma Form.

Et c'est là que j'ai besoin de vos précieux conseils

Merci d'avance