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

Signaler
Messages postés
62
Date d'inscription
dimanche 3 décembre 2017
Statut
Membre
Dernière intervention
25 novembre 2019
-
Krustiz
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.

1 réponse

Messages postés
1749
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
18 février 2020
53
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 !
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
1749
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
18 février 2020
53
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
1749
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
18 février 2020
53
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 !