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#] Textbox, equivalent du setfocus en winforms


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Par défaut [C#] Textbox, equivalent du setfocus en winforms
    Bonjour à tous !!!

    je ne trouve pas de réponse à mon petit problème concernant les textbox.

    En gros lorsque mon utilisateur rentre dans un textbox (dont la propriété text est initialisé a "0") je souhaiterais effacer le contenu du textbox.

    Je viens du monde winform et j'avais l'habitude d'utiliser la propriété focus du textbox (en gros quand le textbox recupere le focus j'effectue mon action).

    Le problème c'est qu'en asp.net, l'environnement ne m'offre pas la possibilité de coder ce que je veux sur un evenement Focus.

    Est ce possible en asp.net ???

    Merci d'avance de m'apporter vos réponses

    @+

    Hirochirak

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Par défaut
    il faut utiliser du javascript

    coté aspx tu ajoutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.TextBox1.Attributes.Add("onselect", "resetField();")
    this.TextBox1.Attributes.Add("onclick", "resetField();")
    et coté javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function resetField()
    {
    	var txt = document.getElementById("textbox1");
    	txt.innerText = '';
    }
    Pourquoi ces 2 événements onselect et onclick?

    si tu sélectionne le textbox en cliquant dessus, c'est bien sur l'événement onclick qui va se produire, par contre si tu sélectionnes ton textbox via la touche tabulation, tu auras besoin de onselect...

    J'espère t'avoir aidé

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 48
    Par défaut
    Bonjour,

    Moi en faisant ça, j'ai l'erreur:

    Erreur: 'null' a la valeur Null ou n'est pas un objet.
    La première partie du code je l'ai mise dans mon load.
    Et l'autre dans mon code HTML entre les balises <script>

    Une idée?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Par défaut
    bizarre,
    à quel moment se produit l'erreur?

    au chargement de la page?
    au clic sur le textbox?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 48
    Par défaut
    Quand je clic sur le textBox justement.

    Dans le code behin:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this.Load += new System.EventHandler(this.Page_Load);
    			txtLastName.Attributes.Add("onselect", "resetField();");
    			txtLastName.Attributes.Add("onclick", "resetField();");
    et dans le code HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    function resetField()
    {
    	var txt = document.getElementById("txtLastName");
    	txt.innerText = '';
    }
    </script>
    Je ne comprend pas

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Par défaut
    essaye peut être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    txt.value = '';
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    txt.innerText = '';

  7. #7
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    L'ID envoyé au navigateur est différent de l'ID assigné dans le code pour des raisons d'unicité.

    Tu dois faire un truc du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.TextBox1.Attributes.Add("onselect", "resetField("+TextBox1.UniqueID+");");
    this.TextBox1.Attributes.Add("onclick", "resetField("+TextBox1.UniqueID+");");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function resetField(id)
    {
      document.getElementById(id).innerText = '';
    }

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 48
    Par défaut
    Bon j'ai peut etre une idée:

    voila mon code behind:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			this.txtLastName.Attributes.Add("onselect", "resetField("+txtLastName.UniqueID+");");
    			this.txtLastName.Attributes.Add("onclick", "resetField("+txtLastName.UniqueID+");");
    voila mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function resetField(id)
    {
    	document.getElementById(id).innerText = '';
     
    }
    et voila l'affichage de la source:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<td><input name="DirectorySimpleSearch1:txtLastName" type="text" value="Last name" id="DirectorySimpleSearch1_txtLastName" class="BlocDroiteInput" onselect="resetField(DirectorySimpleSearch1:txtLastName);" onclick="resetField(DirectorySimpleSearch1:txtLastName);" /></td>
    L'id dans la source est avec un "_" et dans le onclick c'est ":"
    ca peut etre ça?

    Au passage félicitation pour le DUG j'étais aux premières loges

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 48
    Par défaut
    RAAAA j'ai trouvé

    y manquait les qotes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .... "resetField('"+txtLastName.UniqueID+"');");

  10. #10
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par SmokE
    RAAAA j'ai trouvé

    y manquait les qotes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .... "resetField('"+txtLastName.UniqueID+"');");
    Pardon, j'ai oublié de les indiquer Effectivement, si il cherche une variable il a du mal...

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/09/2012, 08h58
  2. validate sur textbox suivi de setfocus ?
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/03/2010, 11h17
  3. Equivalent de TOpenPictureDialog dans winform
    Par Tiramakan dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/07/2007, 22h05
  4. [WinForms]scanner une textbox et remplacer des caractères
    Par totoche9 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 18/08/2006, 14h40
  5. [VB6] Equivalent du TopMargin d'une TextBox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/02/2006, 16h31

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