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 :
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 :
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 :
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 :
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