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 :

Boutons radio et transmission de leur valeur dans un champ texte


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 25
    Points
    25
    Par défaut Boutons radio et transmission de leur valeur dans un champ texte
    Bonjour,

    Toujours en pleines expérimentations

    Selon que l'utilisateur choisisse les pommes ou les poires, la valeur de chaque bouton radion ('pommes' ou 'poires') devrait être passée au champ texte 'choix'.

    Malheureusement, cela ne semble pas fonctionner... Quelqu'un pourrait-il m'indiquer l'erreur, me signaler une piste ?

    Merci d'avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Préférez-vous 
    <input type="radio" name="question" id="question" value="pommes" onkeyup="choix.value = this.value;" />les pommes ou 
    <input type="radio" name="question" id="question" value="poires" onkeyup="choix.value = this.value;" /> les poires ?<br />
     
    Choix : 
    <input type="text" id="choix" name="choix" readonly="readonly" />

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Salut,

    Tu dois utiliser onfocus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="question" id="question" value="pommes" onfocus="updateChoice(this)" />
    Et le javascript qui va bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	var updateChoice = function(clicked) {
    				var choiceDisplayer = document.getElementById("choix");
    				choiceDisplayer.value = clicked.value;
    			}

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    Bonjour et merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var choiceDisplayer = document.getElementById("choix");
    Ne faudrait-t-il pas plutôt mettre ici 'question' à la place de 'choix' ? Si non, pourquoi ?

    J'ai essayé avec les deux, mais aucune des solutions ne marche.
    J'ai placé un exemple en ligne ici.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Oups désolé, j'ai oublié d'appeler la fonction. J'ai corrigé le code en conséquence.

    Il faut bien utiliser choix, cela me permet de cibler le champ texte dont je vais changer la value par celle du boutton radio qui a été cliqué. D'ailleurs les id sont uniques dans une page, et tu as deux fois l'id question.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    Cela fonctionne maintenant, c'est déjà très bien :p

    J'aurais quelques questions là-dessus par contre, car tout ne m'est pas très clair. Merci d'avance ! (elles sont toutes optionnelles bien entendu La plus importante étant celle de la condition... si vous n'avez qu'un temps - ou une envie - limitée de m'éclairer )

    Quelle différence entre la définition d'une variable comme ça mavariable = 1; et comme ça var mavariable = 1; ?

    Le clicked dans la fonction function(clicked) c'est une sorte de conteneur ? Lorsqu'on lance updateChoice(), ce clicked se tranforme ? Je n'ai pas trop saisi l'interaction entre la fonction et son lancement en fait :/

    Pour les boutons radio, comme il s'agit d'un set de formulaire, je n'ai pas trop d'autre choix que de mettre id ou name identique, sinon on peut le cocher les deux, non ?

    Et aussi (surtout !) j'essaie de faire une condition simple, ça marche si la condition est réalisée, par contre, l'alternative else ne fonctionne pas du tout, que fais-je de faux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    x=5;
     
    var updateChoice = function(clicked) {
     
    	var choiceDisplayer = document.getElementById("choix");
    	if (x==5) {
    	choiceDisplayer.value = clicked.value;
    	}
    	else {
    	choiceDisplayer.value = 5;
    	choiceDisplayer.value = clicked.value;
    	}
    }
    Le reste je crois que c'est bon :p

  6. #6
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Une variable déclare toujours comme ça :
    Autrement ça crée une globale, et c'est mauvais.

    Par contre dans une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function(mavariable) {
    //Une fois déclarée, ma variable n'existe que dans le corps de ma fonction.
    	if(mavariable != "")  {
    		alert(mavariable);
    	}
    }
    Ici ma variable est déja déclarée, donc inutile de la re déclarer.

    Pour les boutton radio si ils ont le même nom, il n'est possible que d'en selectionner un seul à la fois.

    Par contre je n'ai pas compris ce que tu souhaites faire dans le code que tu as posté

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    Bonjour et encore merci, c'est plus clair

    Donc si j'ai bien compris, pour la création de variable, tout ce que je crée au sein d'une fonction peut ne pas être précédé par var, puisque ça restera inhérent à cette fonction ?

    Mon code, j'essaie de lui faire dire ceci :
    Si 'x=5', et que c'est 'pommes' qui est sélectionné, écris 'pommes' dans le champ 'choix'. Sinon, écris '5'.
    J'essaie juste de faire une condition bidon, que je teste en supprimant le 'x=5' en haut.
    L'idée finale c'est d'avoir ceci en tête d'un formulaire, et de permettre de calculer un prix différent, selon que c'est 'pommes' ou 'poires' qui sera sélectionné. Il me faut donc comprendre comment je peux identifier 'pommes' et 'poires' dans ma condition et agir en conséquence. (en plus, j'ai encore un peu de mal avec la concaténation ) !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    En fait, je ne sais pas comment exactement :p
    Mais j'ai trouvé la solution, ça fonctionne désormais.
    Ceux que ça intéresse peuvent voir le bout de code ici.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/03/2014, 03h34
  2. [AC-2000] Bouton qui renvoi son nom comme valeur dans un champ idépendant
    Par therabbitkiller dans le forum VBA Access
    Réponses: 4
    Dernier message: 05/11/2012, 12h07
  3. insérer 3 valeurs dans un champs texte dynamique
    Par patibulaire dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 19/02/2010, 20h20
  4. Vérification chgt de valeur dans un champ texte
    Par steph_p dans le forum IHM
    Réponses: 2
    Dernier message: 09/09/2008, 09h28
  5. pb de recuperation valeur dans un champ texte
    Par kikou33 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/06/2005, 11h43

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