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 :

Récupérer le VALUE correspondant au NAME d'un INPUT


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Récupérer le VALUE correspondant au NAME d'un INPUT
    Blocage d'identification.

    Bonjour à tous.

    J'ai un problème simple, mais je ne suis pas parvenu à trouver la solution sur le Net, sans doute faute de savoir chercher.

    J'ai une page PHP qui est utilisé pour réserver des prestations provenant d'une DB. La page comporte une zone qui doit afficher le cout total de la demande de prestation avant validation par l'utilisateur. Donc vu que c'est côté client, c'est JS qui doit se charger de faire le calcul.

    Dans mon HTML, j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input name="prestation" value="FT000005" onclick="setTotal_Prestation();" type="radio">
    <input type="hidden" name="tarifprestation" id="FT000005" value="20">
    Dans setTotal_Prestation(), pour trouver l'INPUT "prestation" qui est coché, je fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      for (i=0; i<document.getElementsByName('prestation').length; i++){
       if(document.getElementsByName('prestation')[i].checked) {
        /* là je bloque */
       }
      }
    Ma question: Comment connaitre le 'value' correspondant au 'name' que j'ai trouvé ?
    Et existe-t-il une solution pour stoquer le tarif directement dans l'INPUT radio plutôt que dans un 'hidden' ?

  2. #2
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Salut,

    tu pourrais ajouter des id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input name="prestation" id="prestation" value="FT000005" onclick="setTotal_Prestation();" type="radio">
    tu aurais la valeur par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     var MaValeur =document.getElementById("prestation").value;
    Si j'ai bien compris la question.....
    S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Erf, oui tout simplement, merci... (je fatigue moi )

    Et pour trouver un élément dans la page, je suis obligé de parcourir tout ?

    Je demande ça car: dans un 1er temps je cherche la case prestation cochée, ensuite je cherche l'hidden qui comporte le tarif de la prestation trouvée, et comme les prestations comporte 2 options, je dois reparcourir tout encore 4 fois.

    Il n'existe pas une meilleure méthode pour atteindre des éléments depuis JS ?

    EDIT: Je m'en suis sorti, MERCI pour ta réponse !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    En fait non, je ne m'en suis pas complètement sorti encore... J'ai bien réussi pour ce qui est de trouver la prestation sélectionnée et son tarif, mais je ne parviens pas à trouver de solution pour les 2 options associées.

    En fait, un truc m'échappe dans l'exemple suivant: J'ai un code JS qui désactive les checkbox des options lorsqu'une autre prestation est sélectionnée. Les options ont le même id/name.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input id="PR000010" name="PR000010" value="on" disabled="disabled" type="checkbox">
    Pour désactiver les checkbox, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('PR000010').setAttribute('disabled', !etat);
    ça fonctionne très bien, alors que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementByName('PR000010').setAttribute('disabled', !etat);
    ne fonctionne pas... pourquoi ?

    Si je pouvais libérer l'id, je pourrais y stoker la référence de la prestation à laquelle l'option est associée. Et je ne peux bien sur pas changer le name, sinon je n'intercepte plus si la case est cochée lors de la validation du formulaire.

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    getElementByName n'existe pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['nomformulaire'].elements['PR000010'].setAttribute('disabled', !etat)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    erf, oui, c'est getElementsByName qui existe (avec un s à Elements)

    En tout cas, je viens d'appliquer ta méthode, et ça fonctionne très bien, merci beaucoup !

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 24/10/2006, 06h51
  2. Réponses: 3
    Dernier message: 04/10/2006, 22h15
  3. Réponses: 2
    Dernier message: 29/08/2006, 16h20
  4. [Component] Récupérer un Component à partir du Name
    Par molusk dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/07/2005, 18h27
  5. [SERVLET]CMT récupérer le name de ce input un peu spécial???
    Par Devil666 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 24/05/2005, 17h50

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