[AJAX] ajax,struts et liste deroulante
bonjours,
je travaille avec struts et j'ai une liste deroulante que je remplis de la base de donnée comme suit:
Code:
1 2 3 4 5 6 7 8 9 10
| <td class="Style2"> Objectifs individuel :</td>
<td>
<select name="objIndiv" id="objIndiv" onChange='update()'>
<%Iterator it = GetList.getObjByUserId(id).iterator();
String ob=null;
while(it.hasNext()){
ObjIndiv objindiv =(ObjIndiv)it.next(); ob=objindiv.getLibelleObjIndiv();
%>
<option type="text" size="50" value="<%=objindiv.getLibelleObjIndiv()%>"><%=ob %> </option>
<%}%> </select> </td> |
j'ai besoin de recuperer l'id de la valeur selectionnée dans la liste ,pour pouvoir mettre à jours les autres listes qui s'obtiennent par une methode utilisant cet id.
je suis debutante dans ajax,j'ai essayé ceci:
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 40 41 42 43 44 45
| <script type="text/javascript">
//creer l'objet XMLHttpRequest pour pouvoir utiliser Ajax
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) {
xhr = new ActiveXObjec("Microsoft.XMLHTTP");}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objetsXMLHTTPRequest...");
xhr = false;
}
return xhr
}
// Méthode qui sera appelée sur changement du select
function update(){
var xhr = getXhr()
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('objIndiv').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","/update",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'objectif individuel
sel = document.getElementById('objIndiv');
libelleObj = sel.options[sel.selectedIndex].value;
xhr.send("idObjIndiv="+idObjIndiv);
}
</script> |
mais je n'ai pas su comment recuperer l idObjIndiv
en fait je suis perdue,ce que je voulais c'est que la mise à jour se fait dans la meme page.