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 et exploiter une variable d'un SELECT, sans valider le FORM


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Consultant - Webmarketing
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant - Webmarketing
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Par défaut Récupérer et exploiter une variable d'un SELECT, sans valider le FORM
    Bonjour,
    Développeur débutant, je travaille sous PHP et PDO. Par contre sous JS je suis grand débutant.
    Bien qu'ayant passé énormément de temps sur des forums, je n'ai pas réussi à trouver de réponse compréhensible, à mon niveau, pour me permettre une mise en application. Je suppose que la solution passe par du JavaScript.
    Je me tourne vers vous, en vous remerciant de l'aide que vous pourrez m'apporter.
    Mon problème :
    J'ai une application qui, dans un FORM, affiche un champ SELECT, pour sélectionner des types de séminaires, que je vais lire dans une table.
    Dans le même FORM, j'ai un 2ème champ SELECT qui affiche, dans un second temps, les dates relatives au choix de séminaire effectué. La lecture des données dates, se fait à partir de la variable que je souhaite extraire du premier SELECT.
    Résumé :
    - Afficher un champ SELECT, provenant d'une table
    - Sélectionner un séminaire, sans avoir à valider le form
    - Lire une autre table et afficher dans un 2ème champ SELECT les dates proposées pour le séminaire sélectionné.
    - Valider enfin le FORM

    Pour l'heure, j'arrive à afficher un message d'alerte avec le séminaire sélectionné, mais comment exploiter cette info sous forme de variable utilisable sous PHP, du type $resultat = " ? ".
    Encore merci pour votre concours.
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Extraire une variable d'un champ SELECT</title>
    <script type="text/javascript">
    </script>
     
    </head>
    <body>
    <form method="post" id="select" action="<?php echo basename(__FILE__); ?>" />
        <label>Sélectionnez un séminaire :</label>
     
        <select name="choix" id="seminaire" onchange="alert(this.value)">
            <option value=""></option>
            <option value="Gestion">Gestion</option>
            <option value="Comptabilité">Comptabilité</option>
            <option value="Paie">Paie</option>
        </select>
     
    <input type="submit" name="valide" value="Valide" >
    </form>
    <?php
    echo (isset($_POST['choix'])) ? $_POST['choix'] : '';
    ?>
    </body>
    </html>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Bien qu'ayant passé énormément de temps sur des forums, je n'ai pas réussi à trouver de réponse compréhensible, à mon niveau
    Ah oui, quand même... au bout "d'énormément de temps", tout ce que tu arrives à écrire, c'est alert(this.value)...

    Listes déroulantes liées entre elles.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Homme Profil pro
    Consultant - Webmarketing
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant - Webmarketing
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Par défaut Complément d'information à ma demande
    Merci à Bovino pour le lien vers les listes liées et bien que cela ne corresponde pas réellement à la question posée, je m'y suis intéressé, pour constater que la gestion des bases mySQL est obsolète. Sans me décourager, j'ai tout passé à PDO, créé la base et inséré des données. Des bugs persistent, je verrai ça à temps perdu.
    Merci aussi cher Bovino, pour ta remarque que je prends comme de l'humour !!!
    L'exemple que j'ai donné sur l'alerte envoyée par JS c'est simplement pour dire que bien que JS prenne bien en compte la valeur de mon SELECT, je ne sais pas comment l'extraire en PHP car dans la plupart des forums on vous donne des fonctions JavaScript mais je n'ai pas vu comment retourner une valeur vers PHP, sous forme de variable, comme on peut le faire sur les fonctions PHP.
    Je peux vous citer un lien pour exemple où l'on ne parle toujours pas de comment retourner la valeur vers PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://javascript.developpez.com/faq/javascript/?page=formChamps#valSelect comme exemple
    J'ai même vu un cas sur votre forum, où dans le script JS, on envoie la valeur vers une variable SESSION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.developpez.net/forums/d227849/webmasters-developpement-web/javascript-ajax-typescript-dart/javascript/formulaire-recuperer-d-select-variable/
    Cas très intéressant, mais la variable de SESSION m'est retournée vide.
    Voici un exemple complet de mise en pratique :
    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
    36
    37
    38
    39
     
    <?php 
    session_start(); 
    $val_retour = (isset($_SESSION['select'])) ? $_SESSION['select'] : ''; 
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
       <title>Extraire une variable d'un champ SELECT</title>
     
        <script language="JavaScript">
            function checkSelectValue()
            {
            $_SESSION['select'] = document.size.selectedIndex;
            }
        </script>
    </head>
    <body>
        <form method="post" id="select_number" action="<?php echo basename(__FILE__); ?>" />
            <label>Sélectionnez une taille :</label>
            <select name="size" id="select" style="width:50px" Onchange="checkSelectValue()">
                <option value=38>38</option>
                <option value=39>39</option>
                <option value=40>40</option>
            </select>
            <br /><br />
            <input type="submit" name="item_number" id="item" value="Valider" >
        </form>
    <?php
    echo 'Variable retournée $val_retour : '.$val_retour.'<br />';
    if(isset($_POST['size']))
    {
        $val=($_POST['size']);
        echo 'Vous avez sélectionné la taille '.$val.'<br />';
    }
    ?>
    </body>
    </html>
    Bien que dans l'exemple cité, j'ai placé un bouton 'submit', en réalité, je cherche à récupérer une variable avec la valeur du SELECT, avant validation du FORM.
    J'espère que ma demande est assez détaillée.
    Est-il si compliqué de passer une variable de JS vers PHP ?
    Je ne doute pas que pour vous ce sera l'affaire de 2 mn. et ça me rendrait bien service.
    Alors, merci pour vos commentaires et la solution que vous pourriez m'apporter.
    Avec mes remerciements,
    Raphaël

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Merci aussi cher Bovino, pour ta remarque que je prends comme de l'humour !!!
    Oui, avec moi, c'est souvent comme ça qu'il faut le prendre !

    Tu ne pars pas sur les bonnes bases concernant PHP et JavaScript. Ce sont deux langages différents qui n'ont rien à voir et ne travaillent pas en même temps.
    PHP s'exécute côté serveur pour créer une page Web (HTML et éventuellement CSS et JavaScript). Donc quand PHP s'exécute, le document HTML n'existe pas encore, donc JavaScript non plus.
    Une fois le document créé, il est envoyé au navigateur et PHP a fini son boulot.
    Le navigateur reçoit et interprète le document. JavaScript commence à être utilisable, mais PHP n'existe plus.

    Bref, tu ne peux pas passer de variables de PHP à JavaScript ou l'inverse.
    Tu peux uniquement créer une requête HTTP (lien, formulaire, requête AJAX) pour envoyer des paramètres GET ou POST à PHP ou utiliser PHP pour écrire un script JavaScript à partir de variables.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Homme Profil pro
    Consultant - Webmarketing
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant - Webmarketing
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Par défaut Merci pour ta réponse claire et rapide
    Merci BOVINO,
    C'est bien ce que je doutais, mais mes connaissances n'étant pas suffisantes, j'ai voulu creuser un peu plus, pour avoir votre avis.
    Si je comprends bien, je n'ai plus qu'à me former à AJAX, car dans ce cas, on peut exploiter chaque champ du formulaire, sans attendre la validation du FORM.
    Au passage, aurais-tu un lien à me communiquer vers un tutoriel sérieux et bien documenté en français sur AJAX ?
    Encore merci et au plaisir de te retrouver su le forum.
    Raphaël

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    J'ai même vu un cas sur votre forum, où dans le script JS, on envoie la valeur vers une variable SESSION
    hein ?

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "<script language=\"JavaScript\">function checkSelectValue()
    {
     $_SESSION['select'] = document.size.selectedIndex;
    }
    </script>
    ";



    Il y a du niveau là.
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/03/2012, 09h04
  2. [MySQL] récupérer valeur d'une variable dans une autre table
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/03/2007, 22h07
  3. récupérer une variable dans un select case
    Par rob2-9 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/12/2005, 10h54
  4. [DOS] Boucle FOR : récupérer %%i dans une variable
    Par Pomalaix dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 06/12/2005, 16h18
  5. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08

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