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 :
Dans le code-behind :
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>
Les scripts permettant de choisir une couleur et de l'envoyer :
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
Merci d'avance pour vos réponses
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>
Partager