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 :

contenu champ de texte changeant en fonction d'un bouton radio


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut contenu champ de texte changeant en fonction d'un bouton radio
    Bonjour développeurs !

    Voici mon soucis :
    J'ai un petit formulaire avec une seule zone de texte et un bouton qui permet de copier le contenu de cette zone.
    Le contenu de cette zone est le résultat de la fonction "function heuredate()" qui me permet d'avoir l'heure + la date.
    Je voudrais qu'en fonction du bouton radio coché, s'ajoute au contenu la valeur de ce meme bouton radio.

    Ex:

    lulu (bouton radio) - toto (bouton radio)

    *** Lulu - 25/05/2007 - 13:47*** (textarea avec le contenu de "function heuredate()")
    Copier (bouton pour copier le contenu final ds le presse papier)


    Voici le code actuel :

    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
    57
    58
    59
    60
     
    <script language="JavaScript">
     
    function heuredate()
    {
    aujourd = new Date;
     
    jour = aujourd.getDate();
    mois = aujourd.getMonth()+1;
    annee = aujourd.getFullYear();
    heure = aujourd.getHours();
    min = aujourd.getMinutes();
     
     
    min0 = "";
    heure0 = "";
    mois0 = "";
    jour0 = "";
    annee0 = "";
     
     
     
    if (min < 10)
    {
    min0 = "0";
    }
    if (heure < 10)
    {
    heure0 = "0";
    }
    if (mois < 10)
    {
    mois0 = "0";
    }
    if (jour < 10)
    {
    jour0 = "0";
    }
    if (annee < 10)
    {
    annee0 = "0";
    }
     
    concatDate = "*** Lulu - " + jour0 + jour + "/" + mois0 + mois + "/" + annee0 + annee ;
    concatHeure = heure0 + heure + ":" + min0 + min + "***";
    ensemble = concatDate + " - " + concatHeure;
    document.formtemps.zone.value = ensemble;
    pas = setTimeout("heuredate()", 1000);
     
    }
     
    function copy2Clipboard(obj)
    	{
      	var textRange = document.body.createTextRange();
      	textRange.moveToElementText(obj);
      	textRange.execCommand("Copy");
    	}
     
     
    </script>
    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
     
    <body onLoad="heuredate()" onUnload="clearTimeout(pas)">
     
     
    <center>
    <form name="formtemps">
    Lulu	<input  id="lulu" type="radio" name="pseudo" value="lulu" checked onclick="pseudof() ;">
    Toto	<input  id="toto" type="radio" name="pseudo" value="toto"  onclick="pseudof();"/>
    <br />
    <textarea name="zone" cols=28 rows=1></textarea><br>
    <input type=button value="Copier" onclick="copy2Clipboard(document.formtemps.zone)">
     
    </form>
    </center>
    </body>
    J'ai bien entendu essayé plusieurs méthodes, mais en vain.
    Que pourriez me conseiller pour la fonction "pseudof()"
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var pseudos = document.getElementsByName("pseudo");
    for (i=0; i<pseudos.length; i++)
    if (pseudos[i].checked)
    la_valeur = pseudos[i].value;
    Mais echec !

    Auriez vous des idées, merci

    Cordialement.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    en ajoutant id="zone" dans le <textarea>, et en appelant la fonction avec onclick="pseudof(this);" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function pseudof(objRadio) {
    if (objRadio.checked)
    document.getElementById('zone').value=objRadio.value;
    }
    Tu devrais utiliser les <label> pour tes radio ...

    A+

  3. #3
    Invité
    Invité(e)
    Par défaut presque
    Salut E.Bzz et merci de ta réactivité.
    J'ai bien testé ton code et effectivement, j'obtiens déjà un résultat plus proche de ce que je souhaitais au départ.
    Mais (y'a toujours un 'mais' qui traine quelque part...) en ayant intégré la fonction function pseudof(objRadio), désormais le fait de sélectionner un bouton radio, la valeur du bouton apparaît bien dans le textarea, mais disparait aprés 1sec pour laisser place au contenu de la fonction function heuredate().
    Comment faire pour que le pseudo vienne s'ajouter au contenu deja présent ds le textarea ?
    Ex :
    page principal
    lulu (bouton radio) - toto (bouton radio)

    *** - 25/05/2007 - 13:47*** (textarea)

    clic sur lulu
    lulu (bouton radio) - toto (bouton radio)

    *** Lulu - 25/05/2007 - 13:47*** (textarea)

    clic sur toto
    lulu (bouton radio) - toto (bouton radio)

    *** Toto - 25/05/2007 - 13:47*** (textarea)




    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut qui cherche trouve...
    Merci de ta réponse.
    Grace a ton aide j'ai pu obtenir le résultat souhaité :
    Le javascript
    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
    57
     
    <script language="JavaScript">
     
     
     
    function copynirepnimevo(obj)
    	{
      	var textRange = document.body.createTextRange();
      	textRange.moveToElementText(obj);
      	textRange.execCommand("Copy");
    	}
     
    function pseudonirepnimevo(objRadio) 
        { 
    aujourd = new Date;
     
    jour = aujourd.getDate();
    mois = aujourd.getMonth()+1;
    annee = aujourd.getFullYear();
    heure = aujourd.getHours();
    min = aujourd.getMinutes();
     
     
    min0 = "";
    heure0 = "";
    mois0 = "";
    jour0 = "";
    annee0 = "";
     
     
     
    if (min < 10)
    {
    min0 = "0";
    }
    if (heure < 10)
    {
    heure0 = "0";
    }
    if (mois < 10)
    {
    mois0 = "0";
    }
    if (jour < 10)
    {
    jour0 = "0";
    }
    if (annee < 10)
    {
    annee0 = "0";
    }
     
    concatDate = jour0 + jour + "/" + mois0 + mois + "/" + annee0 + annee ;
    concatHeure = heure0 + heure + ":" + min0 + min + " ***";
    ensemble = concatDate + " - " + concatHeure + "\nPas de rép. ni mevo.";
    if (objRadio.checked) document.getElementById('zone').value="*** " + objRadio.value + " - " + ensemble ; 
        }
    Le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form name="nirepnimevo">
    Lulu<input  id="lulu" type="radio" name="pseudo" value="Lulu" onClick="pseudonirepnimevo(this);">
    Toto <input  id="toto" type="radio" name="pseudo" value="Toto"  onclick="pseudonirepnimevo(this);"/>
    <br />
    <textarea name="zone" cols=49 rows=5 wrap="physical" id="zone">*** xxxxxxx - 26/05/2007 - 23:39 *** Pas de r&eacute;p. ni mevo.</textarea>
    <br>
    <br>
    <input type=button value="Copier" onClick="copynirepnimevo(document.nirepnimevo.zone)">
     
    </form

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

Discussions similaires

  1. Désactiver un champ texte en fonction d'un bouton radio
    Par oioou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/11/2011, 23h02
  2. afficher champs formulaire en fonction d'un bouton radio
    Par pod1978 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/04/2009, 11h50
  3. Comment modifier du texte en fonction d'un bouton radio ?
    Par Oli_Ifre dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/04/2007, 13h54
  4. fonction de controle bouton radio
    Par PAYASS59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/03/2006, 12h16
  5. Comment charger un formulaire en fonction d'un bouton radio
    Par FredKéKé dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 31/01/2006, 13h14

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