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

jQuery Discussion :

Une Value qui disparait après un slideDown()


Sujet :

jQuery

  1. #1
    Membre habitué Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Points : 195
    Points
    195
    Par défaut Une Value qui disparait après un slideDown()
    Bonjour à vous qui me venez en aide.
    Voilà mon problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //code jQuery
    $(document).ready(function(){
    	$(".input_text").click(function(){
                        if ($(".xox").is(":hidden")){
                            $(".xox").slideDown("slow");
                        }
                        else{
                            $(".xox").slideUp("slow");
                        }					
    	});
    code HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" value="BONJOUR"  class="input_text" /></p>

    J'ai écrit ce code de quinze façons differentes et à chaque fois la value disparaît une fois que l'input a été enroulée ou surtout déroulée.
    Jusqu'à ce qu'il gagne puis qu'il perde le focus alors que le code HTML est intacte et que value="BONJOUR"!!!

    Ca fait une semaine que je suis dessus, je pleure, j'ai grandement besoin d'aide.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 937
    Points
    22 937
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par Pecose Voir le message
    Bonjour à vous qui me venez en aide.
    Voilà mon problème: ...
    Impossible de tester sans la totalité des codes (CSS, HTML, JS).

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 73
    Points : 100
    Points
    100
    Par défaut
    Il nous manque quelques éléments (quel élément est rattaché à la classe xox, quelle value disparait?), j'ai testé en créent une div bidon
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="xox">aaaa</div>
    et ton code fonctionne chez moi !!

  4. #4
    Membre habitué Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Points : 195
    Points
    195
    Par défaut Le code
    Voila le code, c'est tres simple:

    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
    <!DOCTYPE HTML>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
     
    	<head>
    		<title>Index</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    		<script  type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    		<style type="text/css"> .class1 {display:none;} </style>
    		<script  type="text/javascript">
                    // mon code
                    </script>
    	</head>
     
    	<body>
    		<form action="index.php" method="post" title="formulaire" class="form">
    				<input type="text" value="LOGIN" class="class1"/></p>	
    			<input type="button" value="valide" class="valide"/>
    		</form>	
    	</body>
    </html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $(document).ready(function(){
    $(".valide").click(function(){
            if ($(".class1").is(":hidden")){
                $(".class1").slideDown("slow");
            }
            else{
                $(".class1").slideUp("slow");
            }					
    });});
    La div ne sert qu'a dérouler plusieurs type="text" de façon homogene.
    Je déroule le tout en meme temps pour enlever le saut de ligne que provoque
    l'apparition des type="text".

    Regarde cette value:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" value="LOGIN" class="class1"/>
    Normalement elle est affichée a l'interieur du champs, mais là ce n'est pas le cas.La value ne disparait pas dans le code HTML mais a l'affichage...
    Elle est là mais elle est pas visible.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 73
    Points : 100
    Points
    100
    Par défaut
    Tu utilises quel navigateur ?
    Ca fonctionne pour moi sous firefox je vois la value, mais pas sous chrome!

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 73
    Points : 100
    Points
    100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fadeIn("slow");
    fadeOut("slow")
    à l'air de fonctionner avec les différents navigateurs sans supprimer la value

  7. #7
    Membre habitué Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Points : 195
    Points
    195
    Par défaut
    Effectivement je suis sous chrome...
    Comment dire...
    En fait, j'ai trouvé la solution TOTALEMENT par hasard en me trompant de syntaxe:
    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
    <!DOCTYPE HTML>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
     
    	<head>
    		<title>Index</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    		<script  type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    		<style type="text/css"> .class1 {display:none;} .xox{height:150px;}</style>
    		<script  type="text/javascript">
                    
                    $(document).ready(function(){
                    $(".valide").click(function(){
                        if ($(".class1").is(":hidden")){
                            $(".class1").show("slow");
                        }
                        else{
                            $(".class1").hide("slow");
                        }                                   
                    });});  
                    </script>
    	</head>
     
    	<body>
    		<form action="index.php" method="post" title="formulaire" class="form">
    				<div class="class1 xox">
    				<input type="text" value="LOGIN" class="class1"/></p>
    				<input type="text" value="LOGIN" class="class1"/></p>
    				<input type="text" value="LOGIN" class="class1"/></p>
    				<input type="text" value="LOGIN" class="class1"/></p>
    				</div>	
    			<input type="button" value="valide" class="valide"/>
    		</form>	
    	</body>
    </html>
    Merci de votre aide maintenant, je sais d'ou vien le problème.
    Mais si vous avez d'autres façons d'encoder ce "truc" c'est avec plaisir.

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 937
    Points
    22 937
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    C'est un bogue spécifique à Chrome.

    Mais, pour les animations, il faut se donner comme règle de toujours manipuler un élément du DOM de type "block" (ou similaire). Au niveau CSS, cet élément doit avoir une hauteur et sa position doit être relative (explicitement) ou absolue.

    Exemple :

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    div.test { position: relative; height: 30px; }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form class="form" title="formulaire">
    	<div class="test">
    		<input type="text" value="LOGIN" class="class1">
    	</div>
    	<input type="button" value="valide" class="valide">
    </form>

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $( ".valide" ).click( function(){
     
    	if ( $( ".class1" ).is( ":hidden" ) ){
    		$( "div.test" ).slideDown( "slow" );
    	} else {
    		$( "div.test" ).slideUp( "slow" );
        }					
    });

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

Discussions similaires

  1. pagination qui disparait apres un clik
    Par keusty78 dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2009, 14h00
  2. fenetre DOS qui disparait après fin d'execution
    Par Gwindor dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 10/07/2008, 10h36
  3. Réponses: 9
    Dernier message: 08/12/2006, 11h36
  4. Contenu d'une variable qui disparait :/
    Par Aleksis dans le forum C++
    Réponses: 10
    Dernier message: 02/06/2006, 16h50
  5. [WebForms][Javascript] Une DropDownList qui disparait....
    Par prem's dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 02/03/2005, 11h50

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