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

JavaScript Discussion :

Effacer (cas particulier) d'un champ de formulaire


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut Effacer (cas particulier) d'un champ de formulaire
    Bonjour,

    voila mon problême :

    Dans mon formulaire, je dois enlever le texte par défaut d'un textarea ... Je souhaite le faire sur l'événement onFocus et non le onClick ... De plus je change la couleur du fond sur le même événement, puis je remet celle d'origine sur le onBlur ...

    Voici le code du textarea :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <textarea name="message" onFocus="changeID(this)" onBlur="rechangeID(this)" id="noactive" cols="30" rows="3";>Tapez ici votre message</textarea>
    et voici la fonction changeID :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function changeID(appelant){
    var a=0;
    appelant.id="active";
    if (document.test1.name=="message"){
    var a = var a++;
    if (var a<=1){
    document.test1.message.value="";
    }
    }
    }
    Mon problême est donc le suivant : lorsque je rajoute le test pour savoir si le champ est "message", plus rien ne marche ... Si quelqu'un peut m'aider à arranger ceci, voir m'aider à trouver une meilleur solution ...

    Merci d'avance et bonne journée à tous !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    le fait de mettre var devant une variable l'initialise ... on ne le met donc qu'une fois sous peine de reinitialiser la variable existante ...

  3. #3
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    Tout d'abord merci pour la rapidité de la réponse !

    J'ai donc enlever le var (sauf le premier) les champs change bien de couleur, mais le textarea ne s'efface pas ...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    entre grenouilles

    curieux cette façon de modifier l'id ???
    je ne vois pas la justification d'une telle manoeuvre, d'autant plus que pas la suite tu aurais plusieurs elements avec le même id ce qui est à proscrire ...
    de plus tu colle un id et tu l'appelle ensuite avec un name ...
    a mpon avis il faut revoir le prioncipe de pointage sur les objets ...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function changeID(appelant){
    var a=0;
    appelant.id="active";
    if (document.test1.name=="message"){
    var a = var a++;
    if (var a<=1){
    appelant.value="";
    }
    }
    }
    ça devrait marcher mais je desapprouve fortement cette attribution d'id ...

  6. #6
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    Comme tu dis entre grenouille lol

    Merci pour le code, je vais le tester.

    En fait je change l'id pour faire que le champ actif du formulaire ait un fond différent ... http://www.designcreation.fr puis contact. Il est vrai que du coup il y à des id identique, c'est même moi qui les ait fixé au départ ... J'oublie toujours qu'il ne doit pas y en avoir 2 pareils, car cela fonctionne ... Mais je sais qu'il ne faut pas normalement ... Du coup je chopé l'élément par son ID car justement yen à plusieurs qui on le même id ... Y'a t'il une méthode semblable que la mienne pour changer la classe?

    Merci !

    Edit : le code marche pas

  7. #7
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    Pas d'autre petites idées ??? Car la je

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    lol je suis vbraiment trés c...
    je te dis un truc et je fais un copier coller du contraire !!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function changeID(appelant){
    var a=0;
    appelant.id="active";
    if (document.test1.name=="message"){
    var a = var a++;
    if (var a<=1){
    appelant.value="";
    }
    }
    }
    vire les var et ça devrait aller mieux ...

  9. #9
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    J'avais compris que c'était les var qui merdait ... Sa initialise (je l'ai même retenue) je ferait plus cette bêtise, lol ! Mais sa marche toujours pas ...

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function changeID(appelant){
    var a=0;
    appelant.id="active";
    alert(document.test1.name)
    if (document.test1.name=="message"){
    a = a++;
    if ( a<=1){
    appelant.value="";
    }
    }
    je ne suis pas entré en détail dans le fonctionnement de ton truc ...
    mais to testr ne sert à rien ... ta variable a sera toujours <= 1.
    tu l'initialise à 0 en debut de fonctio et ensuite tu ajoutes ou non 1 une seule fois...
    donc a vaut au moment du test 0 ou 1 ...

  11. #11
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    J'utilise cette variable pour que lorsqu'on clique une 2ème fois dans le textarea sa ne l'efface pas ... Si un gars tape un message qii'l clique dans un autre champ et qu'il veut modifier ce qui se trouve dans le textarea, sa efface son message ... Or cette variable me sert à effacer une seule fois le contenue de ce champ ...

    Mais je vois se que tu veut dire ... Je l'initialise à chaque fois, je suis dé**le. Bref, j'ai sortie le var a = 0 de la fonction, mais sa marche toujours pas. Le pb vient qu'il ne trouve pas le bon nom car le test de l'alert me renvoi toujours "test1" ce qui est le nom du formulaire et non le nom du champ de ce formulaire ... Je ne vois donc pas coment récupérer le nom du champ ...

  12. #12
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    J'ai trouvé une espece de cours sur le net, apperemment faudrait utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    document.test1.elements["message"]
    de cette manière je cible l'élément "message" de mon formulaire "test1" ...

    Je peut pas le tester se soir, je le ferait demain ... Qu'est ce que tu en pense? A par sa, si quelqu'un veut me proposer une autre idée, tant mieu !

    Bonne soirée à tous !

  13. #13
    Membre habitué Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 190
    Points
    190
    Par défaut
    J'ai trouver une solution ....

    Si sa interesse quelqu'un je peut la poster ...

    Merci de votre aide ...

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

Discussions similaires

  1. effacer le contenu d'un champ de formulaire html sur clic
    Par laurentSc dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/12/2010, 10h15
  2. Effacer un champ de formulaire
    Par ziko.1988 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/08/2010, 13h36
  3. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06

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