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

ASP.NET Discussion :

[C#] Comment valider un bouton en appuyant sur la touche entrée ?


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [C#] Comment valider un bouton en appuyant sur la touche entrée ?
    Salutations a tous et a toutes
    bien que j ai eu tres souvent a consulter cette platteforme c est bien la premiere fois que je y viens soumettre un probleme.

    - je travaille sur une page en ASP.Net et butte devant une difficulte, celle de pas pouvoir : valider un boutton "recherche" en appuyant simplement sur la touche d "Entree" du clavier (et cela bien sur apres avoir ecris un mot clef dans le TextBox prevu a cet effet)

    voici mes lignes de code en c# j espere que quelqu un voudra bien y jetter les foudres de sa Science
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void btnSearch_Click(object sender, EventArgs e)
    {
    	Session.Add("project__searchword", txtSearchProj.Text);
    	Response.Redirect("project_search.aspx");
    }
    Merci merci remerci encorrr

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Merci de respecter les règles de ce forum en ajoutant les balises de code là où il faut et en renommant ton sujet.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,
    J'utilise le code suivant pour faire cela.

    Ta page aspx (juste le Form et les controls)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="" onsubmit="return Validate();" runat="server">
     <input type="text" name="txtExample" onkeypress="return maskKeyPress(event)" size="20"> 
     <input type="text" id="txt1" />
    </form>
    La fonction Validate (très compliquée )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Validate(){
      return bValid ;
    }
    Et le plus gros, les variables globales et la fonction maskKeyPress :
    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
     
     var bValid = true;
      //detection du navigateur
     var strUserAgent = navigator.userAgent.toLowerCase(); 
     var isIE = strUserAgent.indexOf("msie") > -1; 
     var isNS6 = strUserAgent.indexOf("netscape6") > -1; 
     var isNS4 = !isIE && !isNS6  && parseFloat(navigator.appVersion) < 5; 
     
    //expressions régulieres
     var reValidChars = /\d/;
     var reKeyboardChars = /[\x08\x0D]/;
     
    function maskKeyPress(objEvent) {
     var iKeyCode, strKey;  
     
     if (isIE) {
    	   iKeyCode = objEvent.keyCode;
     } else {
    	    iKeyCode = objEvent.which;
     }
     
     strKey = String.fromCharCode(iKeyCode);
     
     if (!reValidChars.test(strKey) && !reKeyboardChars.test(strKey)) {
    	alert("Invalid Character Detected!\nKeyCode = " + iKeyCode + "\nCharacter =" + strKey);
    	return false;
     }else{
    	bValid = false; 
     }
    }
    En espérant que ca t'aide a avancer.
    @+

  4. #4
    Membre averti
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 431
    Points
    431
    Par défaut
    Je sais bah si j'ai bien compris, mais tu veux juste déclencher ton bouton lors de l'appui sur entrée.

    Pour cela, perso j'utilise les Tabindex qui me focus direct le bouton, mais bon j'ai peut-être de la chance que sa marche à chaque fois vu que le code de graphicsxp me parait un poil plius technique que ma pauvre propriété tabindex ...
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

  5. #5
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,
    Si tu fais tab, tu donne le focus au bouton ( en supposant que sont tabIndex soit le suivant par rapport a la textbox) et donc si tu fais entre tu declenche le click sur le bouton. C'est bien, mais c'est encore mieux de pouvoir declenche le click sur le bouton en faisant Entre sur la textbox, sans avoir a presser la touche Tab

  6. #6
    Membre averti
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 431
    Points
    431
    Par défaut
    Ha, je viens de comprendre la subtilité !

    Merci graphicsxp !
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

  7. #7
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Solution Simple et Efficace !!!
    je viens d avoir une solution tres simple a mon Probleme, d un chargé du marketing de VS2005 chez Microsoft germany GmbH (un Evengeliste comme ils disent :-) )

    Explication en Anglais
    With ASP.NET 2.0 you can now also set a "defautfocus" property on the <form> tag to control this as well. You can likewise set this programmatically using the Page.SetFocus(control) method where you pass in a reference to a control, or by calling a "Focus()" method now surfaces on ASP.NET TextBox and other input controls on the server

    <html>
    <body>

    <form defaultfocus=“textbox2” defaultbutton=“button1” runat=“server”>

    <asp:textbox id=“textbox1” runat=“server”/>
    <asp:textbox id=“textbox2” runat=“server”/>

    <asp:button id=“button1” text=“Same Page” runat=“server”/>

    <asp:panel defaultbutton=“button2” runat=“server”>

    <asp:textbox id=“foo” runat=“server”/>

    <asp:button id=“button2” runat=“server”/>

    </asp:panel>

    </form>
    </body>
    </html>

    Merci a graphicsxp & CORBASE d avoir assure mon batême sur le site
    a bientot

  8. #8
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,
    Oui mais ca can ne fonctionne pas dynamiquement... Si tu change de textbox et que tu veux qu'elle soit associer a un autre bouton, ca ne marche plus. Si tu n'as qu'un seul bouton sur ton form, dans ca cas c'est bon.

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

Discussions similaires

  1. Valider une sélection en appuyant sur la touche entrée
    Par canadianfanatic dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 29/08/2011, 14h16
  2. Réponses: 3
    Dernier message: 18/05/2010, 15h37
  3. Valider lors de l'appui sur la touche entrée
    Par zaineb.z dans le forum ASP.NET
    Réponses: 1
    Dernier message: 05/10/2008, 11h08
  4. Intercepter l'appuye sur la touche entrée
    Par poseidon2 dans le forum MFC
    Réponses: 1
    Dernier message: 04/08/2008, 17h11
  5. Activer un bouton en appuyant sur une touche du clavier
    Par brasco06 dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 16/02/2006, 23h47

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