Bonjour � tous,

J'utilise du code JavaScript pour s�lectionner une couleur et la copier dans un contr�le web textbox.

J'ai un contr�le web label, qui prend la couleur d�finie dans le textbox. Mais cela n�cessite un aller-retour vers le serveur pour que le label soit actualis�.

Cet aller-retour est effectu� via un clic sur un bouton. Je souhaitais savoir s'il est directement possible � partir d'un code Javascript d'actualiser le label.

Mon formulaire avec les 2 contr�les web :

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
<form id="form1" runat="server">
     <table>
          <tr>
               <td>Couleur :</td>
               <td>
                    <a onclick="Choisir_Couleur(form1, 'TB_COULEUR')">
                         <asp:Label id="LBL_COULEUR" runat="server" BackColor="Black" BorderColor="Black"></asp:Label>
                    </a>
               </td>
               <td>
                    <asp:textbox id="TB_COULEUR" runat="server" OnTextChanged="TB_COULEUR_OnTextChanged" AutoPostBack="True">#ffffff</asp:textbox>
               </td>
          </tr>
     </table>
</form>
Dans le code-behind :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
Public Sub TB_COULEUR_OnTextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
     LBL_COULEUR.BackColor = System.Drawing.Color.FromName(TB_COULEUR.Text)
End Sub
Les scripts permettant de choisir une couleur et de l'envoyer :

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
<script language="javascript">
 
var fenetre = null;
 
function Choisir_Couleur(form, field) {						
     if (fenetre && !fenetre.closed) fenetre.close();
          adresse = "couleurs.htm?" + form.name + "&" + field
          var top = (screen.height - 240)/2;
          var left = (screen.width - 380)/2;
          fenetre = window.open(adresse, "Couleurs", "width=380, height=240, top="+top+", left="+left+", resizable=1");
          if (!fenetre.opener) fenetre.opener = self;
     }			
 
InterfaceCouleurs.prototype.envoyerCouleur = function() {
     // transmet la couleur sélectionnée au formulaire appelant
     // appelée par le bouton "Envoyer"
 
     if (this.couleur == null) alerte("Aucune couleur n'a été sélectionnée.");
     else if ((this.opener_form == null) || (this.opener_input == null)) 
          alerte("Le nom du formulaire destinataire et/ou du champ destinataire n'a pas été transmis à la popup.");
     else {
          if (this.controlerCodeCouleur() && this.controlerComposantes()) {
               opener.document.forms[this.opener_form].elements[this.opener_input].value = "#" + this.couleur;
               [color=red][b]????? opener.document.forms[this.opener_form].elements[LBL_COULEUR] ?????	[/b][/color]
               window.close();
          }
          else alerte("Le code couleur n'est pas valide.");
     }
     return false;
}
 
</script>
Merci d'avance pour vos r�ponses