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 :

Variable de php vers script


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Automatisme
    Inscrit en
    juillet 2015
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Automatisme
    Secteur : Alimentation

    Informations forums :
    Inscription : juillet 2015
    Messages : 187
    Points : 48
    Points
    48
    Par défaut Variable de php vers script
    Bonjour,

    J'ai un petit problème pour passer des variables de php vers un script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script>
    var Moniteur1 = <?php echo $Moniteur1; ?>;
     
    function Chang() {
            if(document.getElementById('Prenom').value == Moniteur1) {                                
              document.getElementById("Chang_prenom1").style.display = "inline";
    Dans %Moniteur1, il y a "Toto"
    Si je mets "Toto" à la place de la variable %Moniteur1, cela fonctionne
    Qui peut m'aider
    A+

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    8 362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 8 362
    Points : 12 978
    Points
    12 978
    Par défaut
    regardez le code source de la page pour vérifier que le code javascript soit bien valide.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    38 926
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2002
    Messages : 38 926
    Points : 65 273
    Points
    65 273
    Billets dans le blog
    1
    Par défaut
    il manque les quotes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Moniteur1 = "<?php echo $Moniteur1; ?>";
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  4. #4
    Membre du Club
    Femme Profil pro
    Automatisme
    Inscrit en
    juillet 2015
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Automatisme
    Secteur : Alimentation

    Informations forums :
    Inscription : juillet 2015
    Messages : 187
    Points : 48
    Points
    48
    Par défaut
    Merci
    Bonne journée

  5. #5
    Membre du Club
    Femme Profil pro
    Automatisme
    Inscrit en
    juillet 2015
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Automatisme
    Secteur : Alimentation

    Informations forums :
    Inscription : juillet 2015
    Messages : 187
    Points : 48
    Points
    48
    Par défaut
    J'ai encore un petit soucis:

    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
    <form action="AccesPlanning.php" method="post">                     
                      <p><b>Date planning : </b><input type="date" name="DatePlanning" size="10" maxlength="10" value="<?php echo date("Y-m-d") ?>" /></p>                                                                                                                                                                                                                                                                                                                         
                      <p><b>Nom moniteur: </b><select name="Nom_moniteur" id="Prenom" onchange="Chang()"> 
                                            <?php for ($i=1;$i<$Fin_table;$i++) { ?> 
                                                    <option value=<?php echo $Nom_moniteur[$i]; ?> ><?php echo $Nom_moniteur[$i]; ?></option>
                                            <?php } ?>                                                                                                                         
                                                    </select>      
                                                    <a id="Chang_prenom1" style="display:inline;"><input type="text" name="Prenom_moniteur" size="10" maxlength="10" value="<?php echo $Prenom_moniteur[1]; ?>"></a>
                                                    <a id="Chang_prenom2" style="display:none;"><input type="text" name="Prenom_moniteur" size="10" maxlength="10" value="<?php echo $Prenom_moniteur[2]; ?>"></a> 
                                                    <a id="Chang_prenom3" style="display:none;"><input type="text" name="Prenom_moniteur" size="10" maxlength="10" value="<?php echo $Prenom_moniteur[3]; ?>"></a>
                                                    <a id="Chang_prenom4" style="display:none;"><input type="text" name="Prenom_moniteur" size="10" maxlength="10" value="<?php echo $Prenom_moniteur[4]; ?>"></a></p> 
     
                      <p><b>Validation: </b><input type="submit" value="Valider" ></p>
    </form>
     
     
    <script>
    var Moniteur1 = "<?php echo $Nom_moniteur[1]; ?>";
    var Moniteur2 = "<?php echo $Nom_moniteur[2]; ?>";
    var Moniteur3 = "<?php echo $Nom_moniteur[3]; ?>";
    var Moniteur4 = "<?php echo $Nom_moniteur[4]; ?>";
    function Chang() {
            if(document.getElementById('Prenom').value == Moniteur1) {                                
              document.getElementById("Chang_prenom1").style.display = "inline";
              document.getElementById("Chang_prenom2").style.display = "none";
              document.getElementById("Chang_prenom3").style.display = "none";
              document.getElementById("Chang_prenom4").style.display = "none";
            }
            else if (document.getElementById('Prenom').value == Moniteur2) {  
              document.getElementById("Chang_prenom2").style.display = "inline";
              document.getElementById("Chang_prenom1").style.display = "none";
              document.getElementById("Chang_prenom3").style.display = "none";
              document.getElementById("Chang_prenom4").style.display = "none";
            }
            else if (document.getElementById('Prenom').value == Moniteur3) {                                
              document.getElementById("Chang_prenom3").style.display = "inline";
              document.getElementById("Chang_prenom1").style.display = "none";
              document.getElementById("Chang_prenom2").style.display = "none";
              document.getElementById("Chang_prenom4").style.display = "none";
            }
            else if (document.getElementById('Prenom').value == Moniteur4) {
              document.getElementById("Chang_prenom4").style.display = "inline";
              document.getElementById("Chang_prenom1").style.display = "none";
              document.getElementById("Chang_prenom2").style.display = "none";  
              document.getElementById("Chang_prenom3").style.display = "none";     
            }
    }
    </script>

    Tout fonctionne bien sur cette page mais lorsque je sélectionne par exemple le moniteur 1 ou 2 ou 3 , je récupère par $_POST toujours le prénom du moniteur[4]
    J'ai remplacé moniteur[4] par "Toto" ici => <input type="text" name="Prenom_moniteur" size="10" maxlength="10" value="<?php echo $Prenom_moniteur[4]; ?>Je récupère toujours "TOTO"
    Qui aurait une idée du problème ?
    A+

  6. #6
    Membre éclairé
    Femme Profil pro
    Autre
    Inscrit en
    janvier 2017
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : janvier 2017
    Messages : 327
    Points : 687
    Points
    687
    Par défaut
    Bonjour apicultrice,
    Tous les champs des prénoms ont la même valeur de name.
    Ton erreur est de supposer que c'est celui qui est affiché qui sera envoyé en POST, mais non, ça ne fonctionne pas ainsi.

    Je t'ai refait ton code en pas moins bien, mais en gardant ton style (alternance html/php) et tes bizarreries (il n'y a peut-être pas besoin d'avoir plusieurs champs, des balises <a> ou des index qui démarrent à 1).
    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
    <?php
    var_dump($_POST);
    $Nom_moniteur=['','Nom 1','Nom 2','Nom 3','Nom 4'];
    $Prenom_moniteur=['','Prénom 1','Prénom 2','Prénom 3','Prénom 4'];
    $Fin_table=count($Prenom_moniteur);
    $numSelect=1;
    ?>
    <form action="AccesPlanning.php" method="post">
    	<p><b>Date planning : </b><input type="date" name="DatePlanning" size="10" maxlength="10" value="<?= date("Y-m-d") ?>"></p>
    	<p><b>Nom moniteur : </b>
    		<select name="Nom_moniteur" onchange="Chang(this.selectedIndex)">
    <?php for ($i=1;$i<$Fin_table;$i++) { ?>
    			<option value="<?= $Nom_moniteur[$i] ?>"<?= $i===$numSelect?' selected':'' ?>><?= $Nom_moniteur[$i] ?></option>
    <?php } ?>
    		</select>
    <?php for ($i=1;$i<$Fin_table;$i++) { ?>
    		<a id="Chang_prenom<?= $i ?>" style="display:<?= $i===$numSelect?'inline':'none' ?>;"><input type="text"<?= $i===$numSelect?' name="Prenom_moniteur"':'' ?> size="10" maxlength="10" value="<?= $Prenom_moniteur[$i] ?>"></a>
    <?php } ?>
    	</p>
    	<p><b>Validation : </b><input type="submit" value="Valider"></p>
    </form>
     
    <script>
    var indexSelect=<?= $numSelect-1 ?>;
    function Chang(indexSelectNouv) {
    	var ob;
     
    	ob=document.getElementById("Chang_prenom"+(indexSelect+1));
    	ob.style.display="none";
    	ob.querySelector("input").name="";
     
    	indexSelect=indexSelectNouv;
     
    	ob=document.getElementById("Chang_prenom"+(indexSelect+1));
    	ob.style.display="inline";
    	ob.querySelector("input").name="Prenom_moniteur";
    }
    </script>

  7. #7
    Membre du Club
    Femme Profil pro
    Automatisme
    Inscrit en
    juillet 2015
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Automatisme
    Secteur : Alimentation

    Informations forums :
    Inscription : juillet 2015
    Messages : 187
    Points : 48
    Points
    48
    Par défaut
    Bonjour Loralina,

    Merci pour ton aide
    Cela répond bien à mon attente
    A+

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

Discussions similaires

  1. Charger une variable depuis php vers Flash
    Par Gizmil dans le forum Intégration
    Réponses: 3
    Dernier message: 27/02/2011, 15h38
  2. transmission variable(s) php vers javascript
    Par Didier100 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/12/2009, 15h00
  3. [AJAX] Envoyer plusieurs variable de PHP vers JS?
    Par nestoyeur dans le forum AJAX
    Réponses: 2
    Dernier message: 21/07/2009, 14h55
  4. [AS]variable de php vers Flash
    Par adr22 dans le forum Flash
    Réponses: 2
    Dernier message: 14/05/2007, 09h47
  5. Réponses: 9
    Dernier message: 22/03/2007, 11h37

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