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

Langage PHP Discussion :

comment faire pour mettre SelectedItem d'un menu dans l'en téte


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 36
    Points
    36
    Par défaut comment faire pour mettre SelectedItem d'un menu dans l'en téte
    bonjour a tous
    j'ai cree un menu dans une page html php et un textField pour recever la valeur de selectedItemd par exemple le Menu conient les valeur 1,2,3 quand je selectionne le 2 le 2 reste dans la téte de menu et il s'affiche dans le text Field comment je fais ça?
    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
    <form id="form1" name="form1" method="post" action="test.php">
      <label for="select"></label>
      <select name="select" size="1" id="select">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
      </select>
      <label for="textfield"></label>
      <input type="text" name="textfield" id="textfield" value=
      "<?php 
      if(isset($_POST['select'])){
              echo $_POST['select']; } 
              ?>" 
     
          />
    </form>
    (je travail dans la méme page test)

  2. #2
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 94
    Points
    94
    Par défaut
    ça sera plutôt du javascript qu'il te faudra. Ce que tu veux faire s'exécute côté client (navigateur) ... regarde du côté de l'évènement "onChange" de ton select

  3. #3
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    @lizardman
    Un évènement onchange n'a rien avoir avec la mémorisation de l'élément sélectionné.
    Cet évènement est par contre très souvent utilisé pour soumettre (submiter) le formulaire dans devoir cliquer sur un bouton submit lorsqu'on change de choix.
    Ca peut être utile cela dit.


    Lorsque qu'on a valider un choix, il faut effectivement récupérer l'élément sélectionné avec $_POST['select'].
    Mais après il faut rajouter un code dans l'option sélectionnée : selected="selected"

    Pour optimiser cela il est préférable de stocker les options dans un tableau pour après le générer et faire la vérification.

    Exemple :
    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
    <?php
    $options = array(
        array('value' => 1, 'text' => 'Un'),
        array('value' => 2, 'text' => 'Deux'),
        array('value' => 3, 'text' => 'Trois')
    );
     
    // Valeur par défaut
    $defaut = 1;
     
    if (!empty($_POST['select'])) {
        foreach ($options as $option) {
            if ($option['value'] == $_POST['select']) {
                $defaut = $option['value'];
                break;
            }
        }
    }
    ?>
     
    <form id="form1" name="form1" method="post" action="test.php">
        <label for="select"></label>
        <select name="select" size="1" id="select">
    <?php
    foreach ($options as $option) {
        $selected = ($defaut == $option['value']) ? 'selected="selected"' : '';
        echo '<option value="'.$option['value'].'" '.$selected.'>'.$option['text'].'</option>';
    }
    ?>
        </select>
    </form>
    ?>
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 36
    Points
    36
    Par défaut
    quand je selectionne un element de menu et envoyer le $POST['select']
    je veux ke ce $POSTE là devient a l'entéte de menu
    ya pas une maniere sans javascript ?

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 94
    Points
    94
    Par défaut
    @RunCodePhp
    jsuis pas sur qu'on ai bien compris sa question ... (soit toi ,soit moi )... il parle d'un textfield qui doit prendre la valeur de son menu déroulant dans le même formulaire. Ce qui sous entend "sans recharger la page" ...

    peut-être que j'interprête mal, car interprêter il faut...

    @kortobi

    RunCodePhp te propose d'initialiser la valeur par défaut de ton select avec la valeur de ton $_POST[select] (donc ça sera pas sur la même page à priori). C'est garanti sans Javascript !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par lizardman Voir le message
    @RunCodePhp
    jsuis pas sur qu'on ai bien compris sa question ... (soit toi ,soit moi )... il parle d'un textfield qui doit prendre la valeur de son menu déroulant dans le même formulaire. Ce qui sous entend "sans recharger la page" ...

    peut-être que j'interprête mal, car interprêter il faut...

    @kortobi

    RunCodePhp te propose d'initialiser la valeur par défaut de ton select avec la valeur de ton $_POST[select] (donc ça sera pas sur la même page à priori). C'est garanti sans Javascript !
    mercii mon frére c'est ça ce ke je cherche , merci beaucoup

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 36
    Points
    36
    Par défaut
    Re_salutation
    cette méthode est bien marché avec les valeur static mais les valeur retenu a partir de base de donnée ne marche plus
    aidez moi stp

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/02/2007, 17h03
  2. Réponses: 4
    Dernier message: 04/07/2006, 14h55
  3. Réponses: 6
    Dernier message: 20/05/2006, 10h42
  4. [HTML] Comment faire pour mettre de la musique sur un site
    Par Gray Man dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 11/12/2005, 18h13
  5. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25

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