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 une valeur provenant d'un script


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut Récupérer une valeur provenant d'un script
    Bonjour,

    Je souhaite savoir comment puis-je récupérer la valeur de ma sélection en paramètre [qui s'affiche dans la balise "P"], l'idée étant de passer cette valeur dans une autre requête, malgré mes recherche je cale

    Le code:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
        <p id="info" name="info"></p>
     
        <table class="tableF" id="tableau">
            <thead>
                <tr>
                    <th width=20%>Fournisseur</th>
                    <th width=10%>N° de commande</th>
                    <th width=15%>Date de création</th>
                    <th width=15%>Date de livraison</th>
                    <th width=80%>Commentaires</th>
                    <th width=100%>Code article</th>
                    <th width=100%>Désignation</th>
                    <th width=100%>Quantité</th>
                    <th width=17%>......</th>
                </tr>
            </thead>
            <tbody>
                <!-- CONSTRUCTION TABLEAU DES CMD -->
                <?php
                require('../simag/inc/connect.ini.php');
                $query = $bdd->prepare('SELECT CMD_LIBELLE,CMD_NUM,CMD_CREATE,CMD_DELIVERY,CMD_COMMENTS,LIG_ART_CODE,LIG_ART_LIBELLE,SUM(LIG_ART_QTY) FROM CMD,CMD_LIGNE WHERE CMD_NUM=LIG_NUM_CMD GROUP BY LIG_ART_CODE ORDER BY CMD_CREATE');
                $query->execute();
                while ($data = $query->fetch()) {
                ?>
                    <tr onclick="fctClick(this)">
                        <td><?php echo $data['CMD_LIBELLE']; ?></td>
                        <td><?php echo $data['CMD_NUM']; ?></td>
                        <td><?php echo $data['CMD_CREATE']; ?></td>
                        <td><?php echo $data['CMD_DELIVERY']; ?></td>
                        <td><?php echo $data['CMD_COMMENTS']; ?></td>
                        <td><?php echo $data['LIG_ART_CODE']; ?></td>
                        <td><?php echo $data['LIG_ART_LIBELLE']; ?></td>
                        <td><?php echo $data['SUM(LIG_ART_QTY)']; ?></td>
                        <td><button class="btnR" onClick="bascule('boite');">+</button></td>
                    </tr>
     
                <?php
                }
                ?>
            </tbody>
        </table>
    </body>
    <script>
        tableau.onclick = e => {
            if (!e.target.matches('td')) return
            let eTD = e.target,
                eTR = eTD.parentNode;
            info.textContent = ` ${eTD.textContent}` 
        }
    </script>

    Par avance merci pour vos idées
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  2. #2
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    J'ai finis par trouver la solution
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 083
    Points : 16 803
    Points
    16 803
    Par défaut
    Salut

    Sympa de partager la solution
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Voici la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <script>
            tableau.onclick = e => {
                if (!e.target.matches('td')) return
                let eTD = e.target,
                    eTR = eTD.parentNode;
     
                var myvalue = info.textContent = ` ${eTD.textContent}`;
                document.getElementById('codeart').setAttribute('value', myvalue);
            }
        </script>
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  5. #5
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut PROBLEME EN COMPLEMENT DU PREMIER
    Bonsoir,

    Après la résolution de mon premier soucis, j'en ai un second.
    Je n'arrive pas à passer en paramètre dans ma seconde requête l'input "codeart" dans lequel j'affiche mon code article

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <body>
     
        <table class="tableF" id="tableau">
            <thead>
                <tr>
                    <th width=10%>Code article</th>
                    <th width=10%>Désignation</th>
                    <th width=10%>Quantité</th>
                    <th width=10%>N° commande</th>
                    <th width=10%>Date création</th>
                    <th width=10%>Date livraison</th>
                    <th width=60%>Commentaires</th>
                    <th width=100%>Libellé</th>
                    <th width=17%>......</th>
                </tr>
            </thead>
            <tbody>
                <!-- CONSTRUCTION TABLEAU DES CMD -->
                <?php
                require('../simag/inc/connect.ini.php');
                $query = $bdd->prepare('SELECT CMD_LIBELLE,CMD_NUM,CMD_CREATE,CMD_DELIVERY,CMD_COMMENTS,LIG_ART_CODE,LIG_ART_LIBELLE,SUM(LIG_ART_QTY) FROM CMD,CMD_LIGNE WHERE CMD_NUM=LIG_NUM_CMD GROUP BY LIG_ART_CODE ORDER BY CMD_CREATE');
                $query->execute();
                while ($data = $query->fetch()) {
                ?>
                    <tr onclick="fctClick(this)">
                        <td><?php echo $data['LIG_ART_CODE']; ?></td>
                        <td><?php echo $data['LIG_ART_LIBELLE']; ?></td>
                        <td><?php echo $data['SUM(LIG_ART_QTY)']; ?></td>
                        <td><?php echo $data['CMD_NUM']; ?></td>
                        <td><?php echo $data['CMD_CREATE']; ?></td>
                        <td><?php echo $data['CMD_DELIVERY']; ?></td>
                        <td><?php echo $data['CMD_COMMENTS']; ?></td>
                        <td><?php echo $data['CMD_LIBELLE']; ?></td>
                        <td><button class="btnR" onClick="bascule('boite');">+</button></td>
                    </tr>
                <?php
                }
                ?>
            </tbody>
        </table>
        <script>
            tableau.onclick = e => {
                if (!e.target.matches('td')) return
                let eTD = e.target,
                    eTR = eTD.parentNode;
     
                var myvalue = info.textContent = ` ${eTD.textContent}`;
                document.getElementById('codeart').setAttribute('value', myvalue);
            }
        </script>
     
        <p style="display:none" id="info" name="info"></p>
        <input type="text" id="codeart" name="codeart" value="">
     
        <form method="POST" action="" class="forma">
            <div name="boite" id="boite" style="visibility: hidden">
                <table class="tableF" id="ligneCmd">
                    <thead>
                        <tr>
                            <th width=20%>N° de commande</th>
                            <th width=10%>Code article</th>
                            <th width=15%>Désignation</th>
                            <th width=15%>Coloris</th>
                            <th width=80%>UVC</th>
                            <th width=100%>Taille</th>
                            <th width=100%>Quantité</th>
                            <th width=17%>......</th>
                        </tr>
                    </thead>
                    <tbody>
                        <!-- CONSTRUCTION TABLEAU DES CMD -->
                        <?php
     
                        require('../simag/inc/connect.ini.php');
                        $query1 = $bdd->prepare('SELECT LIG_NUM_CMD,LIG_ART_CODE,LIG_ART_LIBELLE,LIG_ART_COLOR,LIG_UVC,LIG_ART_TAILLE,LIG_ART_QTY FROM CMD_LIGNE WHERE LIG_ART_CODE="' . $_POST['codeart'] . '" ORDER BY LIG_ART_COLOR');
                        $query1->execute();
                        var_dump($query1);
                        while ($data = $query1->fetch()) {
                        ?>
                            <tr onclick="fctClick(this)">
                                <td><?php echo $data['LIG_NUM_CMD']; ?></td>
                                <td><?php echo $data['LIG_ART_CODE']; ?></td>
                                <td><?php echo $data['LIG_ART_LIBELLE']; ?></td>
                                <td><?php echo $data['LIG_ART_COLOR']; ?></td>
                                <td><?php echo $data['LIG_UVC']; ?></td>
                                <td><?php echo $data['LIG_ART_TAILLE']; ?></td>
                                <td><?php echo $data['LIG_ART_QTY']; ?></td>
                                <td><button class="btnR" name="envoi" onClick="bascule('boite');">+</button></td>
                            </tr>
                        <?php
                        }
                        ?>
                        <input type="text" name="artcode" id="codeart" value="<?php echo $_POST['codeart']; ?>">
                    </tbody>
                    <?php
                    if (isset($_POST['envoi'])) {
                        echo $_POST['codeart'];
                    }
                    ?>
    </body>

    Je crois avoir tout essayé, mais nul doute que je commets une erreur mais je cale....
    Par avance merci pour vos idées
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  6. #6
    Membre averti Avatar de ASCIIDEFOND
    Homme Profil pro
    Autodidacte passionné
    Inscrit en
    Novembre 2002
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Autodidacte passionné

    Informations forums :
    Inscription : Novembre 2002
    Messages : 235
    Points : 439
    Points
    439
    Par défaut
    Salut Raptor92,

    Et comme ça ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            for (const tdselect of document.querySelectorAll('#tableau td')) {
                tdselect.onclick = function (e) {
                    let eTD = e.target,
                        myvalue = `${info.innerText} ${eTD.innerText}`;
                    document.getElementById('codeart').value = myvalue;
                }
            }

  7. #7
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    Merci pour ta réponse.
    Ton code ne règle pas mon soucis,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <script>
            tableau.onclick = e => {
                if (!e.target.matches('td')) return
                let eTD = e.target,
                    eTR = eTD.parentNode;
     
                var myvalue = info.textContent = ` ${eTD.textContent}`;
                document.getElementById('codeart').setAttribute('value', myvalue);
            }
        </script>
    Celui-ci fonctionne bien, il affiche bien mon code article dans un input, mais je n'arrive pas à passer mon input en variable dans la deuxième requête.
    Quand je clique sur la cellule du code article, j'ai ce message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: Undefined array key "codeart" in C:\wamp64\www\simag\test.php on line 94
    Bonne journée
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 030
    Points : 44 375
    Points
    44 375
    Par défaut
    Bonjour,
    Point 1
    dans ton code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="text" id="codeart" name="codeart" value="">
     
    <form method="POST" action="" class="forma">
    ton élément <input> est hors de ton élément <form> il ne sera donc pas soumis.

    Point 2
    en utilisant la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('codeart').setAttribute('value', myvalue);
    Si l'on saisie une valeur dans l'<input> et que l'on soumet le formulaire, malgré cette action ce sera la valeur saisie qui sera soumise et non la valeur mise dans l'attribut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById('codeart').value = 'une valeur saisie';
    document.getElementById('codeart').setAttribute('value', 'valeur de l\'attribut');
    dans ce cas une+valeur+saisie sera envoyé et non valeur+de+l%27attribut, c'est la nuance entre defaultValue et value.

    Il vaut mieux donc en fait passer par l'écriture element.value = "".

  9. #9
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    Je me rends compte que le code fonctionne mais je n'arrive pas a afficher les lignes de commandes, elles apparaissent lors du clic et disparaissent immédiatement, je n'arrive pas à voir pourquoi

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    <!DOCTYPE html>
    <html lang="fr">
     
    <head>
        <meta charset="UTF-8">
        <title>Commandes clients</title>
        <style>
            td {
                border: 1px solid grey;
                width: 2em;
                text-align: center;
                cursor: pointer;
            }
     
            td:hover {
                background-color: cadetblue;
            }
        </style>
    </head>
     
    <body>
        <section>
            <form action="" method="post">
                <table class="tableF" id="tableau">
                    <thead>
                        <tr>
                            <th width=10%>Code article</th>
                            <th width=10%>Désignation</th>
                            <th width=10%>Quantité</th>
                            <th width=10%>N° commande</th>
                            <th width=10%>Date création</th>
                            <th width=10%>Date livraison</th>
                            <th width=60%>Commentaires</th>
                            <th width=100%>Libellé</th>
                            <th width=17%>......</th>
                        </tr>
                    </thead>
                    <tbody>
                        <!-- CONSTRUCTION TABLEAU DES CMD -->
                        <?php
                        require('../simag/inc/connect.ini.php');
                        $query = $bdd->prepare('SELECT CMD_LIBELLE,CMD_NUM,CMD_CREATE,CMD_DELIVERY,CMD_COMMENTS,LIG_ART_CODE,LIG_ART_LIBELLE,SUM(LIG_ART_QTY) FROM CMD,CMD_LIGNE WHERE CMD_NUM=LIG_NUM_CMD GROUP BY LIG_ART_CODE ORDER BY CMD_CREATE');
                        $query->execute();
                        while ($data = $query->fetch()) {
                        ?>
                            <tr onclick="fctClick(this)">
                                <td><?php echo $data['LIG_ART_CODE']; ?></td>
                                <td><?php echo $data['LIG_ART_LIBELLE']; ?></td>
                                <td><?php echo $data['SUM(LIG_ART_QTY)']; ?></td>
                                <td><?php echo $data['CMD_NUM']; ?></td>
                                <td><?php echo $data['CMD_CREATE']; ?></td>
                                <td><?php echo $data['CMD_DELIVERY']; ?></td>
                                <td><?php echo $data['CMD_COMMENTS']; ?></td>
                                <td><?php echo $data['CMD_LIBELLE']; ?></td>
                                <td><button class="btnR" onClick="bascule('boite');">+</button></td>
                            </tr>
                        <?php
                        }
                        ?>
                    </tbody>
                </table>
                <p style="display:none" id="info" name="info"></p>
                <input type="text" name="artcode" id="artcode">
                <script>
                    tableau.onclick = e => {
                        if (!e.target.matches('td')) return
                        let eTD = e.target,
                            eTR = eTD.parentNode;
                        var myvalue = info.textContent = ` ${eTD.textContent}`;
                        document.getElementById('artcode').setAttribute('value', myvalue);
                    }
                </script>
     
                <div name="boite" id="boite" style="visibility: hidden">
                    <table class="tableF" id="ligneCmd">
                        <thead>
                            <tr>
                                <th width=20%>N° de commande</th>
                                <th width=10%>Code article</th>
                                <th width=15%>Désignation</th>
                                <th width=15%>Coloris</th>
                                <th width=80%>UVC</th>
                                <th width=100%>Taille</th>
                                <th width=100%>Quantité</th>
                                <th width=17%>......</th>
                            </tr>
                        </thead>
                        <tbody>
                            <!-- CONSTRUCTION TABLEAU DES CMD -->
                            <?php
     
                            require('../simag/inc/connect.ini.php');
                            $query1 = $bdd->prepare('SELECT LIG_NUM_CMD,LIG_ART_CODE,LIG_ART_LIBELLE,LIG_ART_COLOR,LIG_UVC,LIG_ART_TAILLE,LIG_ART_QTY FROM CMD_LIGNE WHERE LIG_ART_CODE="' . $_POST['artcode'] . '" ORDER BY LIG_ART_COLOR');
                            $query1->execute();
                            var_dump($query1);
                            while ($data = $query1->fetch()) {
                            ?>
                                <tr onclick="fctClick(this)">
                                    <td><?php echo $data['LIG_NUM_CMD']; ?></td>
                                    <td><?php echo $data['LIG_ART_CODE']; ?></td>
                                    <td><?php echo $data['LIG_ART_LIBELLE']; ?></td>
                                    <td><?php echo $data['LIG_ART_COLOR']; ?></td>
                                    <td><?php echo $data['LIG_UVC']; ?></td>
                                    <td><?php echo $data['LIG_ART_TAILLE']; ?></td>
                                    <td><?php echo $data['LIG_ART_QTY']; ?></td>
                                    <td><button class="btnR" name="envoi" onClick="bascule('boite');">+</button></td>
                                </tr>
                            <?php
                            }
                            ?>
                        </tbody>
                    </table>
                </div>
            </form>
            <?php
                        if (isset($_POST['envoi'])) {
                            echo $_POST['artcode'];
                        }
                        ?>
        </section>
    </body>
    <script src="../js/userlist.js"></script>
    <script src="../js/artRecherche.js"></script>
     
    </html>

    Bien à vous
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  10. #10
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    En complément, voici le code JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    function fctClick(obj) {
        // récup. formulaire
        var oForm = document.querySelector('form');
        // récup. INPUT type text
        var oInputs = oForm.querySelectorAll('input[type=text]');
        // transfert des contenus
        for (var i = 0, nb = obj.cells.length; i < nb; i += 1) {
            oInputs[i].value = obj.cells[i].textContent;
        }
    }
     
    function bascule(elem) {
        // Quel est l'état actuel ?
        etat = document.getElementById(elem).style.visibility;
        if (etat == "hidden") {
            document.getElementById(elem).style.visibility = "visible";
        } else {
            document.getElementById(elem).style.visibility = "hidden";
        }
    }
     
    const dialog = document.querySelector("dialog");
    const showButton = document.querySelector("dialog + button");
    const closeButton = document.querySelector("dialog button");
     
    // Le bouton "Afficher la fenêtre" ouvre le dialogue
    showButton.addEventListener("click", () => {
        dialog.showModal();
    });
     
    // Le bouton "Fermer" ferme le dialogue
    closeButton.addEventListener("click", () => {
        dialog.close();
    });
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 030
    Points : 44 375
    Points
    44 375
    Par défaut
    Tout d'abord, il est contre productif de modifier tes messages car on ne reçoit pas de notification, ou tu ajoutes un message pour préciser ta nouvelle situation, ou tu ouvres une nouvelle discussion si le soucis est bien différent.

    Dans le cas présent je réponds sur cette discussion.



    Pour en revenir il faut savoir qu'un <button> est par défaut de type submit, donc lorsque cet élément est présent dans un formulaire dès que tu cliques dessus le formulaire est soumis.

    Donc mettre :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><button type="button" class="btnR" name="envoi" onClick="bascule('boite');">+</button></td>

  12. #12
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    Désolé pour la gène occasionné, je comprends.
    J'ai ajouté le type du bouton ("button"), le tableau s'affiche vide car la requête ne prend plus l'article en paramètre, voici le message du var_dump:

    Warning: Undefined array key "artcode" in C:\wamp64\www\simag\test.php on line 92
    object(PDOStatement)#4 (1) { ["queryString"]=> string(156) "SELECT LIG_NUM_CMD,LIG_ART_CODE,LIG_ART_LIBELLE,LIG_ART_COLOR,LIG_UVC,LIG_ART_TAILLE,LIG_ART_QTY FROM CMD_LIGNE WHERE LIG_ART_CODE="" ORDER BY LIG_ART_COLOR" }
    lorsque je retire le type du bouton, la requête fonctionne mais le tableau n’apparait que le temps du clic

    J'avoue être perdu

    Au cas ou, voici le code JS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function filtrer()
    {
    var filtre, tableau, ligne, cellule, i, texte;
     
    filtre = document.getElementById("maRecherche") .value.toUpperCase();
    tableau = document.getElementById("tableau");
    ligne = tableau.getElementsByTagName("tr");
     
    for (i = 0; i < ligne.length; i++)
    {
    cellule = ligne[i].getElementsByTagName("td")[0];
    if(cellule)
    {
    texte = cellule.innerText;
    if (texte.toUpperCase().indexOf(filtre) > -1)
    {
    ligne[i].style.display = "";
    }
    else
    {
    ligne[i].style.display = "none";
    }
    }
    }
    }
    Encore désolé et merci pour votre aide
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 030
    Points : 44 375
    Points
    44 375
    Par défaut
    lorsque je retire le type du bouton, la requête fonctionne mais le tableau n’apparait que le temps du clic
    c'est une situation normale car comme dit ton formulaire et soumis et la page se recharge.

    Est-ce la suite de cette discussion : Afficher des données dans une fenêtre modale ?

    Si oui il semblerait que tu ais un soucis de « séquencement » de tes actions.
    • J'affiche les données ;
    • Je clique sur une ligne pour afficher uniquement les données de celle-ci ;
    • Je modifie les données, ou non ;
    • Je valide les modifications, ou non ;
    • Si validation les données modifiées sont enregistrées en base ;

  14. #14
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    Oui, c'est la suite, mais si je comprends ce que tu expliques, j'avoue de pas savoir par quoi commencer afin de résoudre mon problème.
    Est il possible de me mettre sur la voie, je ne demande pas le code bien sur, mais d'identifier mon erreur.

    Si je contrôle:

    1- J'ai une première requête qui affiche les entêtes de commandes dans une tableau
    2- Je sélectionne la ligne de commande (clic sur le bouton de la ligne)
    3- je devrais envoyé en paramètre à la seconde requête le code article de la ligne sélectionné
    4- J'affiche les lignes de commande correspondante

    Soucis:
    Le code article est indéfini

    Merci beaucoup
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  15. #15
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    J'ai lu et relu mon code et ai tenté de remplacer le tableau des entêtes de commandes par un sélecteur et cela fonctionne, par contre, quand je remplace le sélecteur par ma requête des entêtes, cela ne fonctionne plus.

    Voici le code:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <!DOCTYPE html>
    <html lang="en">
     
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
     
    <body>
        <form action="" method="post">
            <!-- CODE TEST  -->
            <?php
            require('../simag/inc/connect.ini.php');
            $query = $bdd->prepare('SELECT CMD_LIBELLE,CMD_NUM,LIG_ART_CODE,LIG_ART_LIBELLE,SUM(LIG_ART_QTY) FROM CMD,CMD_LIGNE WHERE CMD_NUM=LIG_NUM_CMD GROUP BY LIG_ART_CODE ORDER BY CMD_CREATE');
            $query->execute();
            echo '<label for="pet-select">Commandes :</label>';
            echo '<select class="selecteur"  name="cmd" id="cmd" onClick="javascript:articles();" value="Sélectionner une commande">';
            echo '<option value="">Sélectionner votre article</option>';
            while ($data = $query->fetch()) {
                echo '<option value="' . $data['LIG_ART_CODE'] . '","' . $data['CMD_NUM'] . '">' . $data['LIG_ART_CODE'] . '</option>';
            }
            ?>
     
            <!-- CODE CTRLER  -->
            <input style="display: none;" type="text" name="article" id="article">
            <button type="submit" name="envoi1">XX</button>
     
            <?php
            if (isset($_POST['article'])) {
                echo $_POST['article'];
            ?>
                <table class="tableF" id="ligneCmd" id="ligne">
                    <thead>
                        <tr>
                            <th width=20%>N° de commande</th>
                            <th width=10%>Code article</th>
                            <th width=15%>Désignation</th>
                            <th width=15%>Coloris</th>
                            <th width=80%>UVC</th>
                            <th width=100%>Taille</th>
                            <th width=100%>Quantité</th>
                            <th width=17%>......</th>
                        </tr>
                    </thead>
                    <tbody>
                        <!-- CONSTRUCTION TABLEAU DES CMD -->
                        <?php
     
                        require('../simag/inc/connect.ini.php');
                        $query1 = $bdd->prepare('SELECT LIG_NUM_CMD,LIG_ART_CODE,LIG_ART_LIBELLE,LIG_ART_COLOR,LIG_UVC,LIG_ART_TAILLE,LIG_ART_QTY FROM CMD_LIGNE WHERE LIG_ART_CODE="' . $_POST['cmd'] . '" ORDER BY LIG_ART_COLOR');
                        $query1->execute();
                        var_dump($query1);
                        while ($data = $query1->fetch()) {
                        ?>
                            <tr onclick="fctClick(this)">
                                <td><?php echo $data['LIG_NUM_CMD']; ?></td>
                                <td><?php echo $data['LIG_ART_CODE']; ?></td>
                                <td><?php echo $data['LIG_ART_LIBELLE']; ?></td>
                                <td><?php echo $data['LIG_ART_COLOR']; ?></td>
                                <td><?php echo $data['LIG_UVC']; ?></td>
                                <td><?php echo $data['LIG_ART_TAILLE']; ?></td>
                                <td><?php echo $data['LIG_ART_QTY']; ?></td>
                                <td><button class="btnR" name="envoi2" onClick="bascule('boite');">+</button></td>
                            </tr>
                        <?php
                        }
                        ?>
                    </tbody>
                </table>
            <?php    }
            ?>
        </form>
    </body>
     
    </html>


    Serait-il possible de me dire ou est mon erreur
    Merci
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  16. #16
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 970
    Points : 766
    Points
    766
    Par défaut
    J'ai finis par trouver la solution
    Merci
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  17. #17
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 083
    Points : 16 803
    Points
    16 803
    Par défaut
    Citation Envoyé par Raptor92 Voir le message
    J'ai finis par trouver la solution
    Merci

    ----
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  18. #18
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 030
    Points : 44 375
    Points
    44 375
    Par défaut
    Curieux de savoir également comment tu t'en es sorti car en voyant ton HTML je ne saisis pas pourquoi ton <form> englobe les données de ta <table>.
    Une incompréhension aussi sur l'enchainement de tes actions !

Discussions similaires

  1. recuperation d'une donnee provenant d'un script en javascript
    Par leclone dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 23/08/2007, 14h55
  2. Réponses: 1
    Dernier message: 02/04/2007, 15h49
  3. Réponses: 4
    Dernier message: 15/09/2006, 17h28
  4. récupération d'une valeur provenant d'une popup
    Par boss_gama dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/09/2006, 17h45
  5. Réponses: 13
    Dernier message: 24/02/2005, 16h45

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