Bonjour,

Voici mon "problème".
J'ai une liste de fournisseurs, identifiés par leur code et affichés par nom :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<html:select property="codeFournisseur" onchange="afficherPays(this)">
    <html:optionsCollection value="code" label="libelle" property="allFournisseurs" name="sessionDataManager" />
</html:select>
Je souhaiterais que quand on en sélectionne un, le pays correspondant s'affiche dans un calque à coté.
Mais je ne veux pas poster le formulaire, donc j'ai pensé au javascript..
Mon idée était la suivante : créer un calque par fournisseur, contenant le pays et nommer ce calque dynamiquement afin de pouvoir l'afficher.

Voila le bout de code auquel j'ai pensé :
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
<%
for (int i=0; i < allFournisseurs.size(); i++){
   Fournisseur theFournisseur = (Fournisseur)allFournisseurs.elementAt(i);
 
   String pays = theFournisseur.getpaysice().getLibelle();
   if (pays==null) {
        pays="";
        theFournisseur.getpaysice().setLibelle("");
   }
   else pays=pays.trim();
 
   String codeFournisseur = theFournisseur.getCode();
   if (codeFournisseur==null) {
        codeFournisseur="";
        theFournisseur.setCode("");
   }
   else codeFournisseur=codeFournisseur.trim();
%>
 
<div id="pays_<%= codeFournisseur %>" style="visibility:hidden;">
    <%= pays %>
</div>
 
<%}%>
Le javascript :


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
function afficherPays(liste) {
   var fournisseur = liste.options[liste.selectedIndex].value;
 
   var pays="pays"+fournisseur;
 
   if (document.all) {
         alert('all');
         document.all[pays].style.visibility="visible";
   }
   if (document.layers) {
         alert('layers');
         document.layers[pays].visibility="show";
   }
   if (document.getElementById) {
         document.getElementById(pays).style.visibility="visible";
   }
}
Le problème se situe là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<div id="pays_<%= codeFournisseur %>" style="visibility:hidden;">
Il ne peut pas compiler cette ligne ..

Qu'en pensez vous ?
Quelqu'un a-t-il une autre idée ou bien peut-il m'aider ? Comment concaténer ces valeurs ?..

Merci bcp !