IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: est ce que cette discusion est utile ?

Votants
1. Vous ne pouvez pas participer à ce sondage.
  • Oui

    0 0%
  • j'ai apris un peu plus

    0 0%
  • j'ai aidé à ASPKIDDY

    0 0%
  • Non pas du tout

    1 100,00%
C# Discussion :

deux bouton dans un formulaire [Débutant]


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut deux bouton dans un formulaire
    Bonjour,

    J'ai un formulaire avec 2 champs obligatoires et un bouton pour l'envoyer...

    Code c#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	protected void Soumettre_Click(object sender, System.EventArgs e)
    		{
    			if ( Page.IsValid )
    			{
    					SetPageState();
    					Session["Recuperer"] = "Identite";
    					Response.Redirect("confirmation.aspx");
    			}
     
    		}
    et code front end :
    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
     
    <form id="Form1" method="post" runat="server">
    <strong>
    	<asp:TextBox ID="aPrenomTextBox" runat="server" ></asp:TextBox>
    	<asp:RequiredFieldValidator ID="Requiredfieldvalidatorprenom" runat="server" ErrorMessage="Votre prénom"
    			Text="*" ControlToValidate="aPrenomTextBox"></asp:RequiredFieldValidator>
    	</strong>
     
    	 <strong>
    		<asp:TextBox ID="aNomTextBox" runat="server"></asp:TextBox>
    		<asp:RequiredFieldValidator ID="Requiredfieldvalidatorpnom" runat="server" ErrorMessage="Votre nom de famille"
    			Text="*" ControlToValidate="aNomTextBox"></asp:RequiredFieldValidator>
    	</strong>
    	<br />
    	 <p>
    	<asp:Button ID="BoutonValider" runat="server" Text="Soumettre" OnClick="Soumettre_Click">
    	</asp:Button></p>
    </form>
    Mon code marche bien!!!!!!!!

    Je veux que l'utilisateur remplisse un nouveau textbox [txtBoxCivilite] et clique sur un nouveau bouton et on affiche le texte de ce textbox dans le label [labelCaptureCivilite] et puis, ils continuent de remplir le formulaire actuel...
    J'ajoute un textbox, un label et un bouton au début de mon formulaire

    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
    <form id="Form1" method="post" runat="server">
    <%-- nouveau bouton--%>
        <div>
            <asp:TextBox ID="txtBoxCivilite" runat="server"></asp:TextBox>
            <br />
            Label : <asp:Label ID="labelCaptureCivilite" runat="server" Text="Label"></asp:Label>
            <br />
     
            <asp:Button id="bEnvoi" text="Envoi !" OnClick="Envoi" runat="server"/>
    	 </div>	
    	 <%-- nouveau bouton Fin--%>
    	 	<strong>
    	<asp:TextBox ID="aPrenomTextBox" runat="server" ></asp:TextBox>
    	<asp:RequiredFieldValidator ID="Requiredfieldvalidatorprenom" runat="server" ErrorMessage="Votre prénom"
    			Text="*" ControlToValidate="aPrenomTextBox"></asp:RequiredFieldValidator>
    	</strong>
     
    	 <strong>
    		<asp:TextBox ID="aNomTextBox" runat="server"></asp:TextBox>
    		<asp:RequiredFieldValidator ID="Requiredfieldvalidatorpnom" runat="server" ErrorMessage="Votre nom de famille"
    			Text="*" ControlToValidate="aNomTextBox"></asp:RequiredFieldValidator>
    	</strong>
    	<br />
    	 <p>
    	<asp:Button ID="BoutonValider" runat="server" Text="Soumettre" OnClick="Soumettre_Click">
    	</asp:Button></p>
    </form>
    Lorsque l'utilisateur clique sur mon bouton [bEnvoi] il y a des alertes de mes contrôles [RequiredFieldValidator] (c'est normale) pourtant je n'ai pas encore cliqué sur le bouton "soumettre" [BoutonValider]
    Losque je désactive tous ces contrôles, mon bouton [bEnvoi] marche en changeant le texte dans label [labelCaptureCivilite] ou bien il faut qu'ils remplissent tous les champs obligatoires avant cliquer sur le 1er bouton [bEnvoi] pour que le texte dans label soit changé.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    protected void Page_Load(object sender, System.EventArgs e)
    		{
     
                //afficher la valeur lors de affichage
     
                switch (txtBoxCivilite.Text)//
                {
                    case "":
                        labelCaptureCivilite.Text = "Reservé ";
                        break;
     
                    default:
                        labelCaptureCivilite.Text = txtBoxCivilite.Text;//
                        break;
     
                }
    //.......
    		}
     
     protected void Envoi(object sender, System.EventArgs e)
            {
                // CEst pour changer la valur du label
                // par la valeur d'un texbox
                labelCaptureCivilite.Text = txtBoxCivilite.Text;//
     
     
                LoadControls(); 
     
     
            }
     
     
    protected void Soumettre_Click(object sender, System.EventArgs e)
    		{
    			if ( Page.IsValid )
    			{
    					SetPageState();
    					Session["Recuperer"] = "Identite";
    					Response.Redirect("confirmation.aspx");
    			}
     
    		}
    Je vais que lorsque l'utilisateur clique sur le 1er bouton [[bEnvoi] on change le texte sans alertes de contrôle et lorsque l'on clique sur le 2e bouton [BoutonValider], il faut qu'il y ait des alertes/contrôle si les utilisateurs n'ont pas rempli leur prénom et leur nom...
    Comment peux-je faire cela ?

  2. #2
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Bonjour,

    A mon avis c'est parce que t'es deux boutons sont sous le même élément <form> et du coup, il capte une validation sur le premier également.

    Essayes de sortir ces éléments du <form> ...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par Gurdil le nain Voir le message
    ....
    Essayes de sortir ces éléments du <form> ...
    Asp.net c# n'accepte qu'un form : "Une page ne peut comporter qu'une seule balise Form côté serveur."
    et si je dois mettre ces éléments dans le form : "Le contrôle 'txtBoxUtilisateurCode' de type 'TextBox' doit être placé dans une balise form avec runat=server."

    et si je supprime aussi "runat=server" dans ces éléments, alors mon textBox ne marche plus avec le message d'erreur :

    Message d'erreur du compilateur: CS0103: Le nom 'txtBoxCivilite' n'existe pas dans le contexte actuel

    protected void Page_Load(object sender, System.EventArgs e)
    {

    //afficher la valeur lors de affichage

    switch (txtBoxCivilite.Text)//
    {

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 41
    Points
    41
    Par défaut
    Effectivement, il est impossible de mettre deux form "basique" dans une page aspx.

    Remarque: une solution paliative existe pour mettre deux formulaires tout de même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form id="form1" runat="server">
    </form>
    <form id="form2" runat="server" visible="false">
    </form>
    cf: http://dotnet.developpez.com/faq/asp...resrunatserver


    Pourquoi vouloir mettre un bouton "sumbit" pour la civilité ?
    Ne peux-tu pas gérer le remplissage de ton label en JS tout simplement ?

    S'il te faut absolument un contrôle c#, tu devras passer par de l'Ajax.
    Si le post est utile, n'oubliez pas le
    Si les membres ont répondu à votre question n'oubliez pas de mettre en

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par Alkaza Voir le message
    Effectivement, il est impossible de mettre deux form "basique" dans une page aspx.

    Remarque: une solution paliative existe pour mettre deux formulaires tout de même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form id="form1" runat="server">
    </form>
    <form id="form2" runat="server" visible="false">
    </form>
    cf: http://dotnet.developpez.com/faq/asp...resrunatserver
    Si le formulaire est invisible, le contenu (mon textbox, label et le bouton) sera invisible...
    Donc l'utilisateur ne peut pas...

    Citation Envoyé par Alkaza Voir le message
    Pourquoi vouloir mettre un bouton "sumbit" pour la civilité ?
    Ne peux-tu pas gérer le remplissage de ton label en JS tout simplement ?

    S'il te faut absolument un contrôle c#, tu devras passer par de l'Ajax.
    En fait, au départ, lorsque l'utilisateur arrive sur mon formulaire, il y a un menu déroulant qui contient des valeurs par défaut.

    Avec la valeur de labelCaptureCivilite.Text, j'ai défini une variable*:

    string promotionCivilite;

    et
    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
    switch (labelCaptureCivilite.Text)
                            {
                                case "Reservé ":
                                    promotionCivilite = "0";
                                    break;
     
    		 case "Étudiant":
                                    promotionCivilite = "1";
                                    break;
     
     
     
                                default:
     
                                    promotionCivilite = "3";
                                    break;
     
                            }
    Ensuite, lorsque l'utilisateur clique sur le bouton "bEnvoi", j'ai "reload" ma page [Page_Load et LoadControls(); ] selon la valeur de promotionCivilite, mon menu déroulant change ses valeurs... et l'utilisateur remplit son nom, etc., et clique sur le bouton "BoutonValider" et arrive à l'écran suivant :confirmation.aspx
    Avec Ajax, est-ce que je peux faire cela*?
    Afficher la page avec un menu déroulant qui contient les valeurs défaut, ensuite selon "promotionCivilite" ---> "labelCaptureCivilite" ---> "txtBoxCivilite' que l'utilisateur est validé, (je change le la valeur "promotionCivilite" et) automatiquement les valeurs de mon menu déroulant change ?

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 41
    Points
    41
    Par défaut
    Absolument, l'Ajax permet de faire cela simplement.

    Tu as un exemple d'utilisation ici: http://www.dotnetfunda.com/articles/...-ajax-dll.aspx
    Si le post est utile, n'oubliez pas le
    Si les membres ont répondu à votre question n'oubliez pas de mettre en

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. deux boutons dans un seul formulaire
    Par balishi dans le forum Langage
    Réponses: 4
    Dernier message: 14/09/2011, 15h25
  2. [ZF 1.9] Aligner deux boutons dans un formulaire
    Par mrjay42 dans le forum Zend_Form
    Réponses: 1
    Dernier message: 26/10/2009, 13h42
  3. Réponses: 17
    Dernier message: 24/04/2008, 10h30
  4. deux boutons dans un formulaire
    Par vanou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/06/2006, 08h57
  5. deux boutons dans un formulaire
    Par vanou dans le forum ASP
    Réponses: 5
    Dernier message: 20/06/2006, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo