Bonjour,
je développe une page web qui permet de sauver dans une base de données ce qui est saisi à l'écran.

Le bouton enreg permet de sauver la page.

Je voudrais que l'utilisateur soit averti s'il essaie de sauver la page et qu'il n'a pas rempli un contrôle : f_fiche.

Comme il n'y a pas d'équivalent au MsgBox VB j'ai pensé à une alerte JavaScript sur click de enreg.

j'ai défini le bouton comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 <asp:Button ID="enreg" runat="server" BackColor="#C00000" BorderColor="#C00000" BorderStyle="Outset"
            CommandArgument="" CommandName="Enregistre" Font-Bold="True" Font-Italic="True"
            Font-Names="Arial" Font-Size="Medium" ForeColor="White" OnClick="enreg_Click verifiesivide('f_fiche')"
            Text="SAUVEZ !" Width="100%" />
enreg_Click est une procédure c# qui sauve les données de la page.
verifiesivide serait un appel JavaScript qui signalerait que f_fiche n'est pas rempli :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function verifiesivide(Source)
        {
             if (document.all("Source").value=="")
                { alert("Vous devez renseigner la valeur de : " + Source);}
        }
J'obtiens une erreur de compilation :

Message d'erreur du compilateur: CS1012: Trop de caractères dans le littéral de caractère

Ligne 4871 : <asp:Button ID="enreg" runat="server" BackColor="#C00000" BorderColor="#C00000" BorderStyle="Outset"
Ligne 4872 : CommandArgument="" CommandName="Enregistre" Font-Bold="True" Font-Italic="True"
Ligne 4873 : Font-Names="Arial" Font-Size="Medium" ForeColor="White" OnClick="enreg_Click verifiesivide('f_fiche')"
Par ailleurs on ne peut pas définir deux événements onclick.

Autre essai, avec onclientclick :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<asp:Button ID="enreg" runat="server" BackColor="#C00000" BorderColor="#C00000" BorderStyle="Outset"
            CommandArgument="" CommandName="Enregistre" Font-Bold="True" Font-Italic="True"
            Font-Names="Arial" Font-Size="Medium" ForeColor="White" OnClick="enreg_Click"
            Text="SAUVEZ !" Width="100%" OnClientClick="verifiesivide('f_fiche')" />
Pas d'erreur mais pas de boîte d'information non plus ..

Comment feriez-vous pour déclencher une boite de dialogue sur click d'un bouton dans cette situation ?

Merci.