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 :

Hide show en javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Hide show en javascript
    bonsoir ,

    j ai un souci sur une balise <div id="periode" style="display:none;"> , cette balise est montrée quand l utilisateur selection une option avec la valeur 19 <option value="19">emploie</option>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select id="options" name="cat" class="xxx" onchange="DisplayOptions(); DisplayComment(); DisplayPrix()"><option value="0">Choisissez la catégorie</option>
    le script java permettant de faire apparaitre ma balise sur la valeur 19 est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var select = document.getElementById('options'),
           onChange = function(event) {
              var shown = this.options[this.selectedIndex].value == 19;
    		   document.getElementById('periode').style.display = shown ? 'block' : 'none';
    };
     
    if (window.addEventListener) {
        select.addEventListener('change', onChange, false);
    } else {
        //  pour  IE < 9 
        select.attachEvent('onchange', function() {
            onChange.apply(select, arguments);
        });
    }

    Mon Problème : après un submit , donc reload de la page ( POST ) , ma balise disparait , pourtant mon select reste bien sur la bonne option après le reload de la page .. .

    comment faire pour garder la valeur sélectionner avec l option lors du chargement de la page

    je vous remercie par avance

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ben c'est normal vu que tu recharge ta page.

    si ton code HTML que le serveur envoi n'a pas changé pourquoi le naviagateur changerait sa façon de l'interpréter ?

    A+JYT

  3. #3
    Membre averti
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Points : 362
    Points
    362
    Par défaut
    En forçant l'exécution de ton évènement : onChange.call(select); au chargement de la page, sans doute quelque part à la fin de ton javascript (ou ecmascript mais pas script java).

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    non
    Citation Envoyé par hack4sick
    Mon Problème : après un submit , donc reload de la page ( POST ) , ma balise disparait
    L'erreur n'est pas dans le code elle est là
    Citation Envoyé par hack4sick
    ma balise disparait
    la balise ne disparait pas on est sur un Post d'une page le navigateur reçoit donc une nouvelle page à afficher.

    lors du chargement le navigateur recevra
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="periode" style="display:none;">

    Il est clairement écrit display:nonedonc pas d'affichage.

    Dans le protocole HTTP il est clair que le client ne garde rien en mémoire une fois qu'une requête POST PUT ou GET est faite.
    On part d'une page vierge et la seule chose qui est interprété vient du serveur.

    A+JYT

  5. #5
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Donc avec cette méthode display:none c est pas possible . la page se recharge ---> pas d'affinement

    donc en appelant ma <div>
    depuis un php avec un echo du code

    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
     <div id="periode" >
            <p class="form_left">
    				<?php if (isset($e['perio'])) echo '<span class="error">'; ?><label for="perio"><?php echo $language['form_period']; ?> :</label><?php if (isset($e['perio'])) echo '</span>'; ?>
     
     
     
    			</p>
    			<p class="form_right_select">
    				<input type="text" id="perio" class="av_perio" name="perio" value="<?php if (isset($_POST['perio'])) echo htmlspecialchars($_POST['perio']);elseif (!empty($_SESSION['ann_perio'])) echo htmlspecialchars($_SESSION['ann_perio']); ?>" />
                    <script>
    		jQuery(document).ready(function($){
        $("#perio").datepicker();
    });
           </script>     
    				<?php if (isset($e['aperio'])) echo '<span class="error">'; ?><label class="text_bold" for="aperio"><?php echo $language['form_period_au']; ?> </label><?php if (isset($e['aperio'])) echo '</span>'; ?>
     
     
    				<input type="text" id="aperio" class="av_perio" name="aperio" value="<?php if (isset($_POST['aperio'])) echo htmlspecialchars($_POST['aperio']);elseif (!empty($_SESSION['ann_aperio'])) echo htmlspecialchars($_SESSION['ann_aperio']); ?>" />
    			</p>
                </div>
    Faut maintenant trouver une condition d appel . je tourne en rond car je ne peux recuperer ma valeur option select que par un POST ...

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    non ce n'est pas ce que j'ai dit

    ce que j'ai dit c'est que tu te trompe non pas sur le code mais sur le fonctionnement de HTTP

    la solution

    GET page.php
    le serveur envois un HTML comme tu l'a donné en premier
    POST (form action=page.php)
    le serveur reçois le post mais ne retourne pas le même HTML il en retourne un différent qui tient compte de ce que l'utilisateur a posté.

    c'est le B.A.BA du web.
    et tout ça n'a absolument rien à voir avec Javascript.

    Oubli ce que tu crois oublie ce que tu as fais et pense ton application comme une succession de pages web indépendante.
    Seul le serveur peut en php donner l'illusion que tu es toujours sur la même page avec des éléments qui on changé.

    A+JYT

  7. #7
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    merci de m avoir éclairé sur le fonctionnement d une page web .

    je vais le faire avec un php .


    bonne journée

Discussions similaires

  1. Cacher/Montrer (Hide/show) un onglet d'un Tabpanel
    Par beaudelson dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 17/11/2011, 17h13
  2. hide / show avec ID
    Par lda75 dans le forum jQuery
    Réponses: 7
    Dernier message: 18/10/2011, 09h32
  3. Netbeans & Frame Border.center et Hide & Show Frame
    Par bestof_net dans le forum NetBeans
    Réponses: 2
    Dernier message: 03/04/2010, 22h05
  4. Réponses: 4
    Dernier message: 02/07/2007, 18h27
  5. [C#]statusbar (hide/show)
    Par lalilo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2006, 18h17

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