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 :

le TextBox s'efface quant on click dessu


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut le TextBox s'efface quant on click dessu
    Bonjour a tous j'ai besoin de votre aide,

    J'aimerais savoir comment faire pour que quand l'on click dans ma TextBox le texte de base qui était a l'interieu (ex : "ecrire ici") s'efface. J'ai cherche sur le net sans resultat...

    Merrci de votre aide...

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    A premiere vue, je pencherais pour javascript qui détecte l'entrée focus sur le textbox, et qui mettrais sa valeur à ""

    Et il faudrait un test préalable pour vérifier qu'il s'agit bien du text d'invitation: si l'utilisateur se retrouve à rentrer à chaque fois son texte il va vouloir t'assassiner...

  3. #3
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Merci je vais essayé de faire un truc en java...

    Comme quoi l'informatique peut tuer

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 81
    Par défaut
    si le texte d'invitation est identique pour chaque textbox, une piste pour ajouter une fois pour toute l'action javascript demandée, c'est :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_textbox.Attributes.Add("onfocus","if (this.value != 'ton texte d\'invitation' ) { this.value= ''; }');

  5. #5
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Non, justement ce n'est pas le méme text..

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Citation Envoyé par nerillis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ton_textbox.Attributes.Add( 
       "onfocus",
       "if (this.value != '" + ton_textbox.Text + "' ) { this.value= ''; }');
    Comme ca si tu changes le text dans le designer pas besoin de remodif tout le code

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 81
    Par défaut
    euh non, ton TextBox.text prend la valeur actuelle, le gars tape blablabla, et tu compares si justement le texte a l'instant tapé est différent de lui-même....
    si tu compares la valeur actuelle avec elle-même jamais la valeur sera effacée.

    mais de tte facon, c pas bon, vu que c jamais le même message d'invit à comparer, apart ecrire ce code autant de fois qu'il y a de Textbox,

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Je me disais qu'à l'écriture de l'Attributes dans le page_Init, textBox.Text prendrait le Text écrit dans le designer pour l'insérer sous string , donc 'invitation',

    ensuite comme il est envoyé coté javascript il restera 'invitation', puisque textBox.Text n'existera plus...

    J'admets, j'ai la flemme de tester

  9. #9
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Merci je vais essayé tout ça !

  10. #10
    Membre éclairé

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    771
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 771
    Par défaut
    Ne serait-il pas mieux de tout sélectionner en javascript quand le textbox gagne le focus?

    C'est assez courant de voir ce fonctionnement.

  11. #11
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Citation Envoyé par blbird
    Ne serait-il pas mieux de tout sélectionner en javascript quand le textbox gagne le focus?

    C'est assez courant de voir ce fonctionnement.
    Comprend pas là ?

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Le texte est sélectionné ( en bleu), de cette façon si l'utilisateur clique sur une lettre tout s'efface et la saisie commence avec la lettre. C'est pas mal pour éviter d'avoir un vide en cas d'erreur. C'est surtout pratique pour des valeurs par défaut: le problème si tu vides, c'est qu'en utilisant TAB, le focus va parcourir les textbox et ttes les vidées. Si tu sélectionne juste , le texte restera écrit

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 81
    Par défaut
    C'est vrai que ca peut-être intéressant,
    j'ai aussi une autre idée en javascript,
    on revient à l'effacement du Textbox au clic de l'utilisateur
    et au changement de son contenu, on le grise par la suite =
    plus d'effacements intempestifs (car plus de clic possible),
    et tu places un bouton à la fin qui reset tous les champs.
    Normalement le grisage se fait lorsque tu sorts du controls, ou appuies sur entrée, mais s'il se fait lors de la 1ere lettre saisie, oublies l'idée

    sinon t'as donc comme action [onclick =" this.value = '' "] et [onchange=" this.disabled = true"]

  14. #14
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Citation Envoyé par nerillis
    sinon t'as donc comme action [onclick =" this.value = '' "]
    => Right^^ C'est le plus simple en fait^^

  15. #15
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Citation Envoyé par nerillis
    C'est vrai que ca peut-être intéressant,
    j'ai aussi une autre idée en javascript,
    on revient à l'effacement du Textbox au clic de l'utilisateur
    et au changement de son contenu, on le grise par la suite =
    plus d'effacements intempestifs (car plus de clic possible),
    et tu places un bouton à la fin qui reset tous les champs.
    Normalement le grisage se fait lorsque tu sorts du controls, ou appuies sur entrée, mais s'il se fait lors de la 1ere lettre saisie, oublies l'idée

    sinon t'as donc comme action [onclick =" this.value = '' "] et [onchange=" this.disabled = true"]
    Je comprend l'idée (et je peut te dire que c'est deja pas mal) mais déja que je débute en c# si faut que je fasse du java...mais bon je vais quand méme essayé...

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 81
    Par défaut
    tu peux le faire en C# mais je trouve que, que ce soit sur des formulaires web ou des applications, le javascript(ne confond pas avec Java!) a son mot à dire pour les petits traitements de ce type, bien pratique pour eviter un code lourd!

    Si tu veux, met ici ton code C# je te montrerais un exemple

  17. #17
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Il faut surtout que tu puisse distinguer 2 choses : en web il y a se qui s'exécute coté serveur, et ce qui s'exécute coté client.

    Coté client tu ne peux pas utiliser C# : ce n'est que le langage choisit pour fabriquer ta dll sur le serveur qui s'occupera de répondre à toutes les solicitations des clients

    Donc pour exécuter une action coté client, il faut tripoter javascript, ou encore vbscript.
    Certaines actions d'affichage peuvent être exécuté avec les CSS (caché / affiché) mais s'il s'agit de détecter des actions utilisateurs ou modifier une valeur il faut débuter avec javascript
    La majorité des dev web ne font que des petites actions en javascript : ça réponds surtout à besoin ponctuel d'ergonomie.
    Après, il y a les hardcore qui écrivent les frameworks AJAX...

  18. #18
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Voila tout mon code c# encore merci a vous deux de m'aider...


    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Collections;




    public partial class _Default : System.Web.UI.Page

    {


    protected void Page_Load(object sender, EventArgs e)
    {
    //trouver le nom de l'utilisateur

    String TestLogin = System.Web.HttpContext.Current.User.Identity.Name.ToString();
    Response.Write(TestLogin);




    }
    protected void TextBox2_TextChanged(object sender, EventArgs e)
    {



    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {



    }

    protected void nomprofDropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {


    }

    protected void okButton_Click(object sender, EventArgs e)
    {

    resultatLabel.Text = "Emploi du temps de " + nomprofDropDownList.Text + " pour la classe des " + classeDropDownList.Text + " en " + matiereDropDownList.Text;

    calendrier.Visible = true;

    }



    protected void calendrier_SelectionChanged(object sender, EventArgs e)
    {

    dateLabel.Text = "Semaine du " + calendrier.SelectedDate.ToLongDateString();


    }

    protected void nbheureTextBox_TextChanged(object sender, EventArgs e)

    //Affichage des TextBox

    {
    ArrayList liste_nom = new ArrayList();
    for (int i = 0; i <= Convert.ToInt64(nbheureTextBox.Text) - 1; i++) //initialise le tableau des noms des textbox réclamées
    {
    liste_nom.Add("text_box_child" + i);
    }

    for (int j = 0; j <= liste_nom.Count - 1; j++)
    {
    TextBox modele = new TextBox();
    modele.ID = liste_nom[j].ToString();
    modele.Text = "Heure n° " + Convert.ToInt64(j);
    modele.Width = 500;
    modele.Height = 30;
    form1.Controls.Add(modele);
    }
    }

    }

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 81
    Par défaut
    Tiens voila ce que je pense qu'il faut mettre (j'ai viré ce que tu n'as pas besoin, là ou c'était vide et qui s'inscrit quand tu doubles clic sur les controls sans mettre du code ensuite)

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    using System;
    using System.Data;
    using System.Collections;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
     
     
    public partial class _Default : System.Web.UI.Page
    {
     
    protected void Page_Load(object sender, EventArgs e)
    {
    //trouver le nom de l'utilisateur
     
    String TestLogin = System.Web.HttpContext.Current.User.Identity.Name.ToString();
    Response.Write(TestLogin);
    }
     
    protected void okButton_Click(object sender, EventArgs e)
    {
    resultatLabel.Text = "Emploi du temps de " + nomprofDropDownList.Text + " pour la classe des " + classeDropDownList.Text + " en " + matiereDropDownList.Text;
    calendrier.Visible = true;
    }
     
    protected void calendrier_SelectionChanged(object sender, EventArgs e)
    {
    dateLabel.Text = "Semaine du " + calendrier.SelectedDate.ToLongDateString();
    }
     
    protected void nbheureTextBox_TextChanged(object sender, EventArgs e)
    //Affichage des TextBox
    {
    ArrayList liste_nom = new ArrayList();
    for (int i = 0; i <= Convert.ToInt64(nbheureTextBox.Text) - 1; i++) //initialise le tableau des noms des textbox réclamées
    {
    liste_nom.Add("text_box_child" + i);
    }
     
    for (int j = 0; j <= liste_nom.Count - 1; j++)
    {
    TextBox modele = new TextBox();
    modele.Attributes.Add("onclick","this.value = '';");
    modele.Attributes.Add("onchange","this.disabled = true;");
    modele.ID = liste_nom[j].ToString();
    modele.Text = "Heure n° " + Convert.ToInt64(j);
    modele.Width = 500;
    modele.Height = 30;
    form1.Controls.Add(modele);
    }
    }
     
    }
    Pour le grisage, ce n'est pas sur que cela fonctionne du 1er coup,tiens moi au courant, pcq bon je code en php en ce moment même, et atteindre des propriétés CSS par du javascript, dans du code C#, je suis pas a l'abris d'une p'tite erreur lol

    EDIT]Jviens de penser qu'il va te mettre 3 erreurs du fait que j'ai viré 3 truc vides, mais quil va qd meme cherché dans un autre fichier.
    Tu n'auras qu'a enlever ces lignes qui posent aussi soucis situées dans lautre fichier (indiqué dans lerreur)

  20. #20
    Membre confirmé Avatar de nimois3O
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Va savoir pourquoi mais les "truc" qui ne servais a rien que t'as viré été aparament important car j'ai été obligé de les remettre pour que sa marche...sa marche donc du feu de dieu Merci beaucoup.

    Juste un piti truc je sais pas si tu as vue mais mon text initial dans les TextBox est : "Heure n°"...malheuresemet avec le code que tu ma pacé précédament (donc je te remerci encore une foi "non, je ne suis pas léche cul mais seulement soulager que sa fonctionne") dans la 1ére textBox le text est donc "Heure n° 0" serait-il possible que le zero soit remplacer par un "1" ??

    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2003] Effacement par double-click
    Par ronibalbo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/09/2009, 15h37
  2. textbox : Tabindex + Effacement auto
    Par Jodu42 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 13/10/2008, 21h14
  3. Effacer des éléments sur click
    Par hugo1992 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/03/2007, 16h22
  4. Réponses: 19
    Dernier message: 15/05/2006, 16h50
  5. [VB]Problème d'effacement dans une TextBox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 24/01/2006, 17h55

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