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 :

test si radio checked alors action


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut test si radio checked alors action
    Bonjour,

    J'ai un formulaire assez compliqué avec des lignes comprenant un input radio et un input text.
    Quand input radio est checked, je veus donner une valeur à un input text commun à toutes les lignes.

    this.form.elements['F824'].value='6';

    Je suis nul en javascript et je n'arrive à trouver la formule magique à place devant la commande ci-dessus.

    Il s'agit juste de tester si le radio est checked ou non.
    onclick n'est pas suffisant car le checked du radio peut avoir été provoqué par un focus sur le text de la même ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <input type="radio" name="super" value="6-OS1-S-EXT-DG" id="A6-OS1-S-EXT-DG" onclick="this.form.elements['U6-OS1-S-EXT-DG'].focus();" />
     
    <input type="text" size="4" name="unit[6-OS1-S-EXT-DG]" id="U6-OS1-S-EXT-DG" onclick="this.form.elements['A6-OS1-S-EXT-DG'].checked=true;" />
     
    <input type="text" size="2" name="prec[824][F]" id="F824" />
    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Bonjour,

    Merci de ta réponse.

    Cela au niveau de la radio sans lier à un événement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input type="radio" name="super" value="6-OS1-S-EXT-DG" id="A6-OS1-S-EXT-DG" if(form.checkbox.checked==true){
    this.form.elements['F824'].value='6';} onclick="this.form.elements['U6-OS1-S-EXT-DG'].focus();" />
     
    // Et ainsi de suite sur plusieurs lignes
    Si tu es sûr je fais l'essai.

  3. #3
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Points : 3 700
    Points
    3 700
    Par défaut
    j'ai édité : en fait, la condition se place dans ton code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="" onclick="if(form.checkbox.checked==true){/* code à exécuter */}">
    form est la valeur de l'attribut "name" de ton formulaire
    checkbox est la valeur de l'attribut "name" de la checkbox à vérifier

    j'espère que c'est compréhensible pour toi !
    (marquer un post résolu si vous êtes satisfait de la réponse )
    ma page launchpad https://launchpad.net/~inizan-yannick
    ma page github : https://github.com/inizan-yannick

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Merci de tes précisions.

    Cependant, le problème est que tu peux avoir le radio checked sans avoir cliqué dessus.
    Le click sur le text dans la même ligne que le radio provoque checked...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" size="4" name="unit[6-OS1-S-EXT-DG]" id="U6-OS1-S-EXT-DG" onclick="this.form.elements['A6-OS1-S-EXT-DG'].checked=true;" />
    Je reconnais que c'est tordu.
    Il faudrait pouvoir vérifier le checked du radio sans être lié à un événement et j'ai l'impression que c'est impossible sans une fonction.

    Le moins mauvais compromis est d'ajouter une règle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick="this.form.elements['A6-OS1-S-EXT-DG'].checked=true; this.form.elements['F824'].value='6';" />
    Comme le client est obligé de remplir ce text, il aura bien le remplissage automatique de F824.

    Le problème est : s'il change la valeur de F824, puis reclique dans le text pour changer la valeur du text, il remplace la valeur de F824...

  5. #5
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Points : 3 700
    Points
    3 700
    Par défaut
    si je relis ton code, quand tu rentre du texte, ça coche automatiquement la checkbox et affiche la valeur 6 dans une autre textbox.
    que tu cliques ou non dessus, elle sera cochée de toute manière
    Tu devrais enlever
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.form.elements['A6-OS1-S-EXT-DG'].checked=true;
    si tu veux contrôler l'état de ta checkbox .
    Car on ne contrôle pas un objet dont l'état sera toujours le même !
    (marquer un post résolu si vous êtes satisfait de la réponse )
    ma page launchpad https://launchpad.net/~inizan-yannick
    ma page github : https://github.com/inizan-yannick

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Encore merci de ton aide.

    Le problème est un peu difficile à comprendre sans voir l'application.

    Grâce à tes suggestions, je pense avoir trouvé une solution un peu lourdingue mais logique.

    Je te l'envoie tout à l'heure, il est temps de manger un morceau.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132
    Par défaut
    Bonsoir,

    J'ai dit que c'était lourdingue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <tr class="odd" title="N6625A"><td class="chek"><input type="radio" name="super" value="N6625A" id="AN6625A" onclick="this.form.elements['UN6625A'].focus();this.form.elements['F54'].value='4';" /></td><td>4 fibres, 9 / 125 (OS1), Str. serr&eacute;e &gt;&gt; <input type="text" size="4" name="unit[N6625A]" id="UN6625A" onclick=" if(this.form.elements['AN6625A'].checked==false) {this.form.elements['AN6625A'].checked=true;this.form.elements['F54'].value='4';}" /> m</td> etc...</tr>
    <tr title="N6626A"><td class="chek"><input type="radio" name="super" value="N6626A" id="AN6626A" onclick="this.form.elements['UN6626A'].focus();this.form.elements['F54'].value='6';" /></td><td>6 fibres, 9 / 125 (OS1), Str. serr&eacute;e &gt;&gt; <input type="text" size="4" name="unit[N6626A]" id="UN6626A" onclick=" if(this.form.elements['AN6626A'].checked==false) {this.form.elements['AN6626A'].checked=true;this.form.elements['F54'].value='6';}" /> m</td> etc...</tr>
     
    etc...
     
    <p class="at"><input type="hidden" name="prec[54][at]" value="FO" />Je demande une pr&eacute;connectorisation sur <input type="text" size="2" name="prec[54][F]" id="F54" /> fibres <b>(obligatoire pour ce c&acirc;ble)</b></p>
    Que tu commences par cliquer sur le radio ou sur le text, le nombre par défaut est saisie dans prec[54][F].
    Si tu modifies prec[54][F] puis retournes dans le text pour modifier la valeur, la veleur de prec[54][F] n'est pas modifiée car le radio est déjà checked.

    Je te donnerai un lien vers l'appli quand elle sera en ligne.

    Encore merci.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 685
    Points : 132
    Points
    132

Discussions similaires

  1. Test si bouton radio checked
    Par goku19 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/01/2012, 11h01
  2. test bouton radio
    Par latrikatomik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/01/2007, 12h10
  3. [Tests] Un freeware pour les actions automatique
    Par layouni dans le forum Windows
    Réponses: 1
    Dernier message: 06/09/2006, 17h23
  4. Déterminer le bouton radio checked
    Par cyberdevelopment dans le forum Langage
    Réponses: 8
    Dernier message: 25/07/2006, 16h36
  5. probleme bouton radio checked
    Par coachbob44 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2005, 10h02

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