Bonjour,
"Mais pour la liste déroulant ou il y a les nom des resp, je voulais que se fasse avec saisie mais juste comme google." ==> C'est bien ajax qu'il faut utiliser
Autocompleter: Il existe des librairies. Tu pourrais utiliser "script aculo us" (http://wiki.github.com/madrobby/scri...-autocompleter)
Il existe d'autre ( peut etre mieux, tu pourra étudier selon tes besoins)
Ne pas oublier d'incure les JS (à deposer, chemin dans balisesrc)
1 2 3
|
<script LANGUAGE="JavaScript" src="prototype/prototype.js"></script>
<script LANGUAGE="JavaScript" src="scriptaculous/scriptaculous.js"></script> |
Rajoute le code CSS proposer sur le lien précédant.
Puis code le JSP à afficher:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<td><input type="text" id="nomRep" name="nomRep"/>
<div id="nomRep_choices" class="autocomplete"></div>
</td>
<td>
<input type="text" name="telResp" disabled size="8" maxlength="10" value ="" />
<script language="javascript">
new Ajax.Autocompleter("nomRep", "nomRep_choices", "/localhost/tonAppli/ServletAjax1", {
paramName: "value",
minChars: 1,
});
</script>
</td> |
Créer une nouvelle servlet ServletAjax1 qui :
-> Recupérer ce qui a été saisi:
String nomRes= (String) currentParam.getParameter("value");
-> Fait un :
"SELECT nom_prenom_res FROM resp_chantier WHERE nom_prenom_res like '"+nomRes+"%'
-> Boucle sur les resultats en écrivant dans une chaine (chaineOL), par exemple (Si DUPO saisi, et 2 enregs correpondant:
1 2 3 4 5
|
<ul>
<li>DUPONT Claude</li>
<li>DUPOND Marcel</li>
</ul> |
-> Ecriture du résultat:
1 2 3 4
| java.io.PrintWriter out = res.getWriter();
out.println(valeur);
out.flush();
out.close(); |
Pour alimenter directement le champs Telephone, il te faudra également faire de l'Ajax sur l'évenement HTML: sortie du champs. Mais je pense que tu devra écrire un peu plus de code. Par conséquent, regarde d'abord l'automplete (si je suis pas clair, je pense que tu trouveras des docs sur le web).
Cordialement,
Partager