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 :

Comportement d'une liste déroulante différents entre IE et FF


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut Comportement d'une liste déroulante différents entre IE et FF
    Bonjour,

    J'ai une syntaxe pour la liste déroulante qui fonctionne a merveille sous FF mais ne s'exécute pas correctement sous IE7.

    Heureusement, je ne peux pas imposer à mes utilisateur naviguer avec FF...

    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
     
     
    <select name="libelleTheme" id="libelleTheme">
    <?php
    $resultat=mysql_query($sql) ;
    while ($ligne=mysql_fetch_array($resultat))
    {
    $libelleTheme = stripslashes($libelleTheme);
    ?>
    <option value="<?php  echo ''.$ligne["libelleTheme"].'';?>"
    <?php if($libelleTheme==$ligne['libelleTheme'])
    {echo "selected";}
    if (!empty($_POST['libelleTheme']) and !empty($_POST['formulaire']))
    {echo "disabled";}?>>
    <?php  echo ''.$ligne["libelleTheme"].'';?></option>
    <?php 
    } ?>
    </SELECT>
    Quelle est mon souci sous IE? Comment corriger ça. Merci d'avance.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par Nooby Voir le message
    Quelle est mon souci sous IE?
    A toi de nous le dire, on ne va certainement pas le deviner.
    Citation Envoyé par Nooby Voir le message
    Comment corriger ça.
    Je pense qu'on verra mieux le problème en regardant la source générée par le PHP que le PHP en lui-même.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut
    Sous FF, si je choisit une option dans la liste et je valide, la valeur choisit reste sélectionnée alors que sous IE, elle se réinitialise au premier élément de la liste, de même la liste reste accessible sous IE alors qu'elle se bloque à la validation du choix par l'utilisateur sous FF. Je suppose que c'est les echos qui ne fonctionnent pas dans mon code ;c

    (Effectivement, je n'ai pas décrit le souci, dslé)

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Comme je le disais au-dessus, ça doit provenir du HTML généré (et sans le voir on aura du mal à t'aider) plutôt que le code PHP en lui-même.

    De plus Firefox et IE ont une façon totalement différente de gérer les listes déroulantes (par exemple, IE ne gère pas le disabled sur les select) et ça c'est au niveau du moteur de rendu, donc aucunement paramétrable.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ''.$ligne["libelleTheme"]
    Pourquoi tu ajoutes une chaine vide au debut de ton echo ?

    Sinon verifie que ton code html final est bien valide :
    http://validator.w3.org/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut
    Voilà mon formulaire en entier, je comprends pas très bien commet je peux vous monter le code HTML généré.
    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
    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
     
    <FORM name="libelle" method="POST" action = "Recherche_par_Theme.php">
    <h5>Sélectionnez un thème et/ou un sous-thème et/ou une rubrique :</h5>
    <?php
    //Connexion a la base de donnée
    $connexion=mysql_connect($serveur,$user,$passebd) or die ("Connexion à la base de données est impossible.");
    $db=mysql_select_db($bd,$connexion) or die ("Base de données indisponible");
     
    $sql = 'select `numTheme`,`libelleTheme` from `theme`'
            . ' where `niveau`=\'1\';';
     
    ?>
     
    <!--Choisissez un thème -->
     
    <select name="libelleTheme" id="libelleTheme">
    <?php
    $resultat=mysql_query($sql) ;
     
    while ($ligne=mysql_fetch_array($resultat))
    {
    $libelleTheme = stripslashes($libelleTheme);
    ?>
    <option value="<?php  echo ''.$ligne["libelleTheme"].'';?>"<?php if($libelleTheme==$ligne['libelleTheme']){echo "selected";}if (!empty($_POST['libelleTheme'])and !empty($_POST['formulaire'])){echo "disabled";}?>><?php  echo ''.$ligne["libelleTheme"].'';?></option>
    <?php 
    } ?>
    </SELECT>
     
    <?php if (isset($_POST['libelleTheme'])and (!empty($_POST['libelleTheme']))) 
    {
     
    $_POST['libelleTheme']= stripslashes($_POST['libelleTheme']);
    $sql1 = 'select `libelleTheme` from `theme`'
            . ' where `niveau`= \'2\' and `themeParent`= '
            . ' (select `numTheme` from `theme` where `libelleTheme`=\''
            . mysql_real_escape_string($_POST['libelleTheme'])
            . '\' and `niveau`= \'1\')';
    ?>
    <select name="soustheme" id="soustheme">
    <!--Choisissez un sous-thème--> 
    <?php
    $resultat=mysql_query($sql1) ;
     
    while ($ligne=mysql_fetch_array($resultat))
    { $soustheme = stripslashes($soustheme);
    ?>
    <option value="<?php  echo ''.$ligne["libelleTheme"].'';?>"<?php if($soustheme==$ligne['libelleTheme']){echo "selected";}if (!empty($_POST['soustheme'])and !empty($_POST['formulaire'])){echo "disabled";}?>><?php  echo ''.$ligne["libelleTheme"].'';?></option>
    <?php
    } ?>
    </SELECT>	
     <?php 
     } ?> 
    <?php if (isset($_POST['soustheme'])and (!empty($_POST['soustheme']))) {
    $_POST['soustheme']= stripslashes($_POST['soustheme']);
     
    $sql2 = 'select `libelleTheme` from `theme`'
            . ' where `niveau`= \'3\' and `themeParent`= '
            . ' (select `numTheme` from `theme` where `libelleTheme`=\''
            . mysql_real_escape_string($_POST['soustheme'])
            . '\' and `niveau`= \'2\')';
    ?>
    <!--Choisissez une rubrique--> 
    <select name="rubrique" id="rubrique">
    <?php
    $resultat=mysql_query($sql2);
    if (! $resultat ) { echo "Erreur requete"; exit;} 
    while ($ligne=mysql_fetch_array($resultat))
    { 
    $rubrique = stripslashes($rubrique); ?>
    <option value="<?php  echo ''.$ligne["libelleTheme"].'';?>"<?php if($rubrique==$ligne['libelleTheme']){echo "selected";}?>><?php  echo ''.$ligne["libelleTheme"].'';?></option>
    <?php
    } ?>
    </SELECT>	
    <?php } 
    mysql_close($connexion);?>
     
    <input class="bouton-ok" type="submit" value="OK">
    <input type="hidden" name="formulaire" value="ok">
    </FORM>
    <br>
    <br>
    <FORM name="vierge" method="GET" action = "Recherche_par_Theme_Vide.php">
    		<div class="alignCenter"><input class="bouton-valider" type="submit" value="Réinitialiser"></div>
    </FORM>
    <br>
    <br>
    </body></html>
    Si je comprends bien, en développant mon site a l'aide de FF, je me suis fait avoir ... Maintenant, il faudra que je réécrit le site pour IE...

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par Nooby Voir le message
    je comprends pas très bien commet je peux vous monter le code HTML généré.
    En affichant la source de ton navigateur favori.

    Citation Envoyé par Nooby Voir le message
    en développant mon site a l'aide de FF, je me suis fait avoir ... Maintenant, il faudra que je réécrit le site pour IE...
    Inutile, comme je l'ai dit ce n'est pas paramétrable sur IE ..

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Voilà mon formulaire en entier, je comprends pas très bien commet je peux vous monter le code HTML généré.
    Sous Firefox , tu ouvres la page vec ton formulaire et tu fait Ctrl+U ou encore clic droit => afficher la source.

    Et encore une fois les incompatibilité entre navigateur non absolument rien a voir avec php mais soit avec du css, html ou javascript , bref des langage coté client

    en développant mon site a l'aide de FF, je me suis fait avoir ... Maintenant, il faudra que je réécrit le site pour IE...
    En développent sur FF on utilise un navigateur respectant une plus grande partie des standart que les IE , et il y'a un débugger extrèmement bien fichu (firebug)
    Donc en général il ne reste que de petit correction à apporter pour se plier aux exigence Microsoft
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [PHP 5.4] Valeur dans une liste déroulante différente de l'affichage
    Par dede18 dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2015, 13h10
  2. Réponses: 2
    Dernier message: 01/09/2009, 16h34
  3. Réponses: 2
    Dernier message: 09/02/2007, 21h55
  4. Avoir un contenu de liste déroulante différent par rapprot à une liste déroulante
    Par beegees dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/10/2006, 08h07
  5. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04

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