Comment afficher 1 MessageBox à partir d'1 évènement DropDownList?
Bonjour,
Je dois afficher 1 MessageBox si l'utilisateur sélectionne 1 élément de la DropDownList.
En fonction de la réponse de l'utilisateur, je dois valider ou invalider des Labels.
Dans ma DropDownList, les éléments appartiennent à 2 types (type A, type B).
En fonction du type, je dois afficher "type A : valider le type ? ", si l'élément est de type A.
A priori, je dois générer la MessageBox avec du JavaScript, mais comment la lancer suite à 1 événement? (je sais afficher 1 MessageBox suite à 1 click, mais suite à 1 événement...?)
Et comment récupérer la réponse de l'utilisateur dans mon Code-behind?
Merci par avance.
David.
Dans mon javascript, j'ai 1 pb pour récupérer la valeur sélectionnée
En fait,
mon pb est que je n'arrive pas à récupérer la valeur de la DropDownList, en javascript.
Car je ne veux afficher le alert(....) que si la valeur sélectionnée == "Blue".
voici le code aspx:
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
|
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/Site.Master" CodeBehind="frmContenu05.aspx.cs" Inherits="Devis01.frmContenu05" %>
<asp:Content ID="cttContenu02" ContentPlaceHolderID="cphMain" runat="server">
<asp:TextBox ID="txt1" runat="server" ></asp:TextBox>
<asp:DropDownList ID="ddl1" AutoPostBack="true" runat="server"
onselectedindexchanged="ddl1_SelectedIndexChanged" >
<asp:ListItem Selected="True">Red</asp:ListItem>
<asp:ListItem>Green</asp:ListItem>
<asp:ListItem>Blue</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btn1" runat="server" OnClick="" />
<script language="javascript" type="text/javascript" >
function SiBlue()
{
var ddl = document.getElementById("DropDownList1");
var val = ddl.selectedvalue; // ne marche pas : la méthode selectedvalue n'est pas disponible
if (val == "Blue")
{
alert('cest bleu'+ddl);
}
}
</script>
</asp:Content> |
et voici le code-behind:
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
|
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace Devis01
{
public partial class frmContenu05 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//ddl1.Attributes.Add("OnChange", "if (!confirm('Change this ?')){return};");
ddl1.Attributes.Add("OnChange", "if (SiBlue()){return};");
}
protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
{
txt1.Text = ddl1.SelectedValue.ToString();
string str = ddl1.SelectedValue.ToString();
btn1.Attributes.Add("OnChange", "if (confirm(str))");
}
}
} |
Merci par avance.
David.
Il doit me manquer une bibliothéque à déclarer pour JavaScript
Il doit me manquer une bibliothéque à déclarer pour JavaScript,
car je n'ai pas moyen de sélectionner des index dans la DropDownList "maDDL".
Les seules choses qui me sont proposée sont du style "sybling", insertBefore", "getAttribute", "childnodes", ...
Je n'ai pas de maDDL.options ni de maDDL.selected ...
J'ai oublié de déclarer quelquechose en en-tête, n'est-ce pas ?
David.
ps: si je saisi le code :
var value = maDDL.options[maDDL.selectedIndex].value;
le code ne s'éxécute plus.