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

Résolu
Krustiz Messages postés 63 Date d'inscription dimanche 3 décembre 2017 Statut Membre Dernière intervention 16 mars 2020 - Modifié le 9 juil. 2019 à 22:23
Krustiz Messages postés 63 Date d'inscription dimanche 3 décembre 2017 Statut Membre Dernière intervention 16 mars 2020 - 13 juil. 2019 à 02:02
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

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
Modifié le 9 juil. 2019 à 17:54
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


1
Krustiz Messages postés 63 Date d'inscription dimanche 3 décembre 2017 Statut Membre Dernière intervention 16 mars 2020
9 juil. 2019 à 21:04
Bonsoir,

Merci pour votre réponse, qu'entendez vous par l'index ?
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
9 juil. 2019 à 22:16
l'index correspond a la position sélectionné dans un select
0
Krustiz Messages postés 63 Date d'inscription dimanche 3 décembre 2017 Statut Membre Dernière intervention 16 mars 2020
10 juil. 2019 à 11:58
Donc si j'insère le code que tu m'as donné, ça fonctionne?
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
10 juil. 2019 à 21:41
si ce que tu recherche c'est la récupération du texte de l'index sélectionné oui
0
Krustiz Messages postés 63 Date d'inscription dimanche 3 décembre 2017 Statut Membre Dernière intervention 16 mars 2020
13 juil. 2019 à 02:02
C'est bon pour moi, je vais utiliser .selecterIndex enfaite !
0
Rejoignez-nous