Je suis novice en la matière. J'ai des difficultés à mettre en place l'Autocompleter.
Quelqu'un pourrait regarder mon code et me dire ce qu'il en pense car le <div> s'affiche dans un carré sans prendre en compte la selection du <input type="text">

Je vous donne deja mon fichier .js:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
var init = function(){new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "http://localhost:8080/biblio/biblioteque", {
  paramName: "autocomplete_parameter", 
  minChars: 1, 
  updateElement: addItemToList, 
  indicator: 'indicator1',
  parameters:'id=2000'
});
 
}
Ensuite ma JSP:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<script type="text/javascript" src="Script/prototype.js"></script>
<script type="text/javascript" src="Script/scriptaculous.js"></script>
<script type="text/javascript" src="ajemprunt.js"></script>
<link rel="stylesheet" type="text/css" href="ajemprunt.css">
<title>Nouvel Emprunt</title>
</head>
<body>
 
<br /><br /><br /><br />
	<form action="bibliotheque">
			<fieldset>
			<legend>Quel est l'abonné :</legend>
 
			<input id="autocomplete" name="autocomplete_parameter" type="text" value="Saisir l'abonné"/>
			<span id="indicator1" style="display: inline">
  			<img src="spinner.gif" alt="Working..." />
			</span>
			<div id="autocomplete_choices" class="autocomplete">
			<% 	Vector<Vector<String>> vabo = (Vector<Vector<String>>)request.getAttribute("vabo");
				out.print("<ul>");
				  for (int i = 1 ; i < vabo.size() ; i++)
				  {
					  Vector ligne = vabo.elementAt(i);
					  out.print("<li>"+ligne.elementAt(1)+"</li>");
				  }out.print("</ul>");
				%>
			</div>
			</fieldset>
 
	</form>
</body>
</html>
et enfin la servlet qui sert de controller mais qui est le server side d'Ajax...
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
abo=new MdAbonnes();
				try
				{	
 
						Vector<Vector<String>> vabo = abo.affiche();
						request.setAttribute("vabo", vabo);
 
 
				} 
				catch (Ca_chie e) 
				{
					String message="Impossible d initialiser la page";
					request.setAttribute("message", message);
 
					try 
					{
						getServletContext().getRequestDispatcher("/erreur.jsp").forward(request,response);
					} 
					catch (ServletException e1) 
					{
						// TODO Auto-generated catch block
						e1.printStackTrace();
					} 
					catch (IOException e1) 
					{
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				} 	
				getServletContext().getRequestDispatcher("/menu_admin.jsp").forward(request, response);
			}
un autre petit bout:
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
case 2000:
			try
			{
				abo=new MdAbonnes();
				Vector<Vector<String>> vect;
				vect = abo.affabo();
				request.setAttribute("vect", vect);
				getServletContext().getRequestDispatcher("/ajemprunt.jsp").forward(request, response);
			} 
			catch (ServletException e)
			{
				e.printStackTrace();
			} 
			catch (IOException e)
			{
					// TODO Auto-generated catch block
					e.printStackTrace();
			}
			catch (Ca_chie e1) 
			{
				// TODO Auto-generated catch block
				String message="Impossible d initialiser la page";
				request.setAttribute("message", message);
				try 
				{
					getServletContext().getRequestDispatcher("/erreur.jsp").forward(request,response);
				} 
				catch (ServletException e) 
				{
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} 
				catch (IOException e) 
				{
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		break;
Voilà...
Merci d'avance