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 :

Afficher une couleur suite à un post


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut Afficher une couleur suite à un post
    Bonjour à tous,
    J'ai un petit script qui me permet de sélectionner une coleur hexadecimale dans un menu déroulant et d'afficher son équivalent couleur.
    Jusque là pas de soucis. Mais quand je clique sur le bouton submit ma valeur reste sélectionnée dans mon déroulant mais la couleur de s'affiche plus ?
    Comment faire ?
    merci pour votre aide.

    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
     
    <style>
    .color { width: 20px; height: 20px; float: left;  }
    </style>
     
    <?php
    if(isset($_POST)){
        echo "Vous avez choisi une couleur de personnalisation : " .$_POST['color'];
    }
    ?>
     
    <table>
        <tr>
    	<td>
    	<form name="perso" method="post" action="">
    	    <select name="color" class="sColor">
    		<option></option>
    		<option value="FF9DD3" <?php if($_POST['color'] == "FF9DD3") echo "selected"; ?>>Rose</option>
    		<option value="FF5D20" <?php if($_POST['color'] == "FF5D20") echo "selected"; ?>>Orange</option
    		<option value="F1E67C" <?php if($_POST['color'] == "F1E67C") echo "selected"; ?>>Anis</option>
    	    </select>
    	    <input type="hidden" id="choiceColor" name="colorPerso" value=""/>
    	    <input type="submit" name="submit" value="Commander"/>
    	</form>
    	</td>
    	<td class="color">    
    	</td>
        </tr>
    </table>
     
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript">
        $(function(){
    	$("select.sColor").change(function(){
    	    var color = $(this).val();
    	    var carreColor = '<div class="color" style="background-color: '+color+'">&nbsp;</div>';
    	    $("td.color").html(carreColor);
    	    $("#choiceColor").val(color);
    	    return false;
    	});
        });
    </script>

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonsoir,

    C'est parce que vous appelez votre fonction uniquement lors du onchange sur le select. Appelez-là aussi lors du onload du body.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    Merci

    Voici le code modifié :

    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
    <html>
    <head>
    <style>
    .color { width: 20px; height: 20px; float: left;  }
    </style>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
        function color(){
            var color = $("select.sColor").val();
            var carreColor = '<div class="color" style="background-color: '+color+'">&nbsp;</div>';
            $("td.color").html(carreColor);
            $("#choiceColor").val(color);
            return false;
        }
    </script>
    </head>
     
    <body onload="color();">
    <?php
    if(isset($_POST)){
        echo "Vous avez choisi une couleur de personnalisation : " .$_POST['color'];
    }
    ?>
     
    <table>
        <tr>
    	<td>
    	<form name="perso" method="post" action="">
    	    <select name="color" class="sColor">
    		<option></option>
    		<option value="FF9DD3" <?php if($_POST['color'] == "FF9DD3") echo "selected"; ?>>Rose</option>
    		<option value="FF5D20" <?php if($_POST['color'] == "FF5D20") echo "selected"; ?>>Orange</option
    		<option value="F1E67C" <?php if($_POST['color'] == "F1E67C") echo "selected"; ?>>Anis</option>
    	    </select>
    	    <input type="hidden" id="choiceColor" name="colorPerso" value=""/>
    	    <input type="submit" name="submit" value="Commander"/>
    	</form>
    	</td>
    	<td class="color">    
    	</td>
        </tr>
    </table>
    </body>
     
    <script type="text/javascript">
        $(function(){
            $("select.sColor").change(function(){
                color();
            });
        });
    </script>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/01/2009, 08h16
  2. Afficher une à la suite de l'autre
    Par punisher999 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 19/12/2008, 08h46
  3. Réponses: 7
    Dernier message: 30/10/2008, 18h49
  4. Afficher une couleur DrawGrid
    Par darkman13130 dans le forum C++Builder
    Réponses: 1
    Dernier message: 19/09/2008, 16h53
  5. Réponses: 4
    Dernier message: 22/08/2006, 15h16

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