Récupérer le contenu d'une balise à la place de sa "value" [Résolu]

Messages postés
62
Date d'inscription
dimanche 3 décembre 2017
Statut
Membre
Dernière intervention
25 novembre 2019
-
Bonjour,
Je cherche à modifier une de mes fonctions en JS : cette fonction sélectionne une option dans un menu select (ou un input) grâce à son attribut value :
    <div id="furni-sp" class="furni">

        <div id="categories-title"><img src="https://i.servimg.com/u/f28/19/98/35/44/icon_711.png"" />Service public</div>
                
            <div class=" btn-light" onclick="functionVip();"><img
                src="https://i.servimg.com/u/f28/19/98/35/44/icon_112.png" />Pass VIP</div>
        <div class="btn-light" onclick="functionPseudo();"><img
                src="https://i.servimg.com/u/f28/19/98/35/44/icon_911.png" />Changement de pseudo</div>
        <div class="btn-light" onclick="functionCreds();"><img
                src="https://i.servimg.com/u/f28/19/98/35/44/icon_610.png" />10 crédits habbo</div>
        <div class="btn-light" onclick="functionSignature();"><img
                src="https://i.servimg.com/u/f28/19/98/35/44/iconsi10.png" />Signature forum</div>
        <div class="btn-light" onclick="functionComportement()"><img
                src="https://i.servimg.com/u/f28/19/98/35/44/crtfde10.png" />Certificat de comportement</div>
        <div class="btn-light" onclick="functionBanquier();"><img
                src="https://i.servimg.com/u/f28/19/98/35/44/icon_113.png" />Banquier</div>

    </div>

    <div class="bdc">

        <div id="categories-furni-title">Choisissez un article !</div>
        <div id="categories-furni-desc">Vous pouvez choisir un article dans le menu de navigation.</div>

        <div id="form">

            <form>

                <input placeholder="Entrez votre pseudo Habbo" name="pseudo_habbo" id="pseudo_habbo" type="text"
                    required>

                <input placeholder="Entrez votre pseudo forum" name="pseudo_forum" id="pseudo_forum" type="text"
                    required>

                <select name="article_nom" id="article_nom" required>
                    <option value="Choissiez votre article" disabled selected hidden>Choissiez votre article</option>
                    <optgroup label="Service public" id="optSP">
                        <option value="Pass VIP (800 PA)">Pass VIP (800 PA)</option>
                        <option value="Pass VIP (20 crédits)">Pass VIP (20 crédits)</option>
                        <option value="Changement de pseudo (500 PA)">Changement de pseudo (500 PA)</option>
                        <option value="10 crédits habbo (1750 PA)">10 crédits habbo (1750 PA)</option>
                        <option value="Signature forum (5000 PA)">Signature forum (5000 PA)</option>
                        <option value="Certificat de comportement (50 PA)">Certificat de comportement (50 PA)</option>
                        <option value="Banquier (200 crédits)">Banquier (200 crédits)</option>
                    </optgroup>
                </select>

                <input value="1" step="1" max="10" min="1" name="quantite" id="quantite" type="number" required>

                <button type="submit" class="button" name="post"><span>Acheter</span></button>

            </form>

        </div>

    </div>

   



        function setSelectValue(select_id, valeur_a_selectionner) {
            document.getElementById(select_id).value = valeur_a_selectionner;
        }

        function functionVip() {
            var vip, vipcredspa = confirm("Veux-tu utiliser 20 crédits pour acheter cet article ?");
            if (vipcredspa == true) {
                vip = "Pass VIP (20 crédits)";
            } else {
                vip = "Pass VIP (800 PA)";
            }
            document.getElementById("categories-furni-title").innerHTML = vip;
            document.getElementById("categories-furni-desc").innerHTML = "Permet de devenir VIP durant 1 mois, le tarif peut-être soumis à des réductions avec le port de badge d'ancien gradé. ";
            setSelectValue('article_nom', vip);
            setSelectValue('quantite', "1");
        }

        function functionPseudo() {
            document.getElementById("categories-furni-title").innerHTML = "Changement de pseudo (500 PA)";
            document.getElementById("categories-furni-desc").innerHTML = "Permet de changer son pseudo du forum, les symboles sont interdit.";
            setSelectValue('article_nom', "Changement de pseudo (500 PA)");
            setSelectValue('quantite', "1");
        }

        function functionCreds() {
            document.getElementById("categories-furni-title").innerHTML = "10 crédits habbo (1750 PA)";
            document.getElementById("categories-furni-desc").innerHTML = "Permet d'avoir 10 crédits sur habbo, l'échange est réalisé en jeu par un membre de l'administration.";
            setSelectValue('article_nom', "10 crédits habbo (1750 PA)");
            setSelectValue('quantite', "1");
        }

        function functionSignature() {
            document.getElementById("categories-furni-title").innerHTML = "Signature forum (5000 PA)";
            document.getElementById("categories-furni-desc").innerHTML = "Permet de rendre visible à la fin de vos messages un message texte (3 lignes).";
            setSelectValue('article_nom', "Signature forum (5000 PA)");
            setSelectValue('quantite', "1");
        }

        function functionComportement() {
            document.getElementById("categories-furni-title").innerHTML = "Certificat de comportement (50 PA)";
            document.getElementById("categories-furni-desc").innerHTML = "Le certificat de comportement permet de retirer un avertissement datant de 1 mois, le certificat de comportement est achetable une seule fois par semaine.";
            setSelectValue('article_nom', "Certificat de comportement (50 PA)");
            setSelectValue('quantite', "1");
        }

        function functionBanquier() {
            document.getElementById("categories-furni-title").innerHTML = "Banquier (200 crédits)";
            document.getElementById("categories-furni-desc").innerHTML = "Permet de devenir gradé débutant (VI) durant 7 jours, après écoulement du délai, vous avez possibilité de transférer vers la filière de votre choix avec un grade bas gradé. Il est possible de conserver le grade Banquier durant 2 mois.";
            setSelectValue('article_nom', "Banquier (200 crédits)");
            setSelectValue('quantite', "1");
        }


Comme on peut le voir ma fonction setSelectValue :
function setSelectValue(select_id, valeur_a_selectionner) {
            document.getElementById(select_id).value = valeur_a_selectionner;
        }

On sélectionne la "value" du select, mais j'aimerais sélectionner le contenu de la balise dans ma fonction, j'ai pensé à innerText mais ça ne fonctionne pas...

J'espère avoir bien exposé mon problème,
Merci d'avance !
P.
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51
1
Merci
bonjour

si il s'agit bien du texte il faut utiliser options et text en precisant l'index

var index=document.getElementById(select_id).selectedIndex
document.getElementById(select_id).options[ index].text


rien ne sert de courir il faut partir a point.
cours Forest cours !

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS SourceS

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Krustiz
Messages postés
62
Date d'inscription
dimanche 3 décembre 2017
Statut
Membre
Dernière intervention
25 novembre 2019
-
Bonsoir,

Merci pour votre réponse, qu'entendez vous par l'index ?
@karamel
Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51 -
l'index correspond a la position sélectionné dans un select
Krustiz
Messages postés
62
Date d'inscription
dimanche 3 décembre 2017
Statut
Membre
Dernière intervention
25 novembre 2019
-
Donc si j'insère le code que tu m'as donné, ça fonctionne?
@karamel
Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51 -
si ce que tu recherche c'est la récupération du texte de l'index sélectionné oui
Krustiz
Messages postés
62
Date d'inscription
dimanche 3 décembre 2017
Statut
Membre
Dernière intervention
25 novembre 2019
-
C'est bon pour moi, je vais utiliser .selecterIndex enfaite !
Commenter la réponse de @karamel