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 :

div qui apparait puis disparait sur le clic d'un bouton


Sujet :

jQuery

  1. #1
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 291
    Points
    291
    Billets dans le blog
    1
    Par défaut div qui apparait puis disparait sur le clic d'un bouton
    Bonjour

    j'essaie de faire une petite appli web pour un affichage de graphique de statistiques, et lorsque je clique sur le bouton "ok" de mon form, le graphique (généré avec highcharts) apparait puis disparait aussitot.
    Etant complètement novice avec jquery (et js aussi), je sèche !!

    html
    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
    <!DOCTYPE html>
    <html>
    <head>
    <title>liste analyse / stat</title>
    <script type='text/javascript' src='Highcharts-3.0.8/js/jquery.min.js'></script>
    <script type="text/javascript" src="Highcharts-3.0.8/js/highcharts.js" ></script>
    <script type="text/javascript" src="Highcharts-3.0.8/js/modules/exporting.js" ></script>
    <script type='text/javascript' src="listes.js"></script>
    </head>
     
    <body>
    	<h2>graphiques</h2>
     
    	<form name="graphique" >
     
    	<p>choisir une analyse, puis une statistique associée</p>
    		<select id="analyses" name="analyses">
    			<option value="">-- Analyses --</option>
    		</select>
     
    		<select id="stats" name="stats">
    			<option value="">-- Statistiques--</option>
    		</select></br></br>
     
    		Date début<input  type="date" id="date_deb" name="date_deb" size="10" value="<?php echo date('Y-m-d',strtotime('-3 month')) ?>" /></br></br>
    		Date fin<input type="date" id="date_fin" name="date_fin" size="10" value="<?php echo date('Y-m-d') ?>"/></br></br>
    		Espece<input type="esp" name="esp" size="5"value = "1"/></br></br>
    		<input type="submit" id="valider" name="valider" value="OK"/></br></br>
     
    	</form>
    <div id="graphique" style="width: 100%; height: 400px;"></div>
    </body>
     
     
    </html>
    le js :
    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
    $(document).ready(function() {
     
    	var $analyses = $('#analyses');
    	var $stats = $('#stats');
     
    	// chargement des analyses
    	$.ajax({
    		url: 'listes.php',
    		data: 'go', // on envoie $_GET['go']
    		dataType: 'json', // on veut un retour JSON
    		success: function(json) {
    			$.each(json, function(index, value) { // pour chaque noeud JSON
    				// on ajoute l'option dans la liste
    				$analyses.append('<option value="'+ index +'">'+ value +'</option>');
    			});
    		}
    	});
     
    	// à la sélection d'une analyse dans la liste
    	$analyses.on('change', function() {
    		var val = $(this).val(); // on récupère la valeur de l'analyse'
     
    		if(val != '') {
    			$stats.empty(); // on vide la liste des stats
     
    			$.ajax({
    				url: 'listes.php',
    				data: 'analyses='+ val, // on envoie $_GET['id_analyse']
    				dataType: 'json',
    				success: function(json) {
    					$.each(json, function(index, value) {
    						$stats.append('<option value="'+ index +'">'+ value +'</option>');
    					});
    				}
    			});
    		}
    	});
     
    var $valider = $('#valider');
     
     
    $valider.on('click', function(){
       //alert('Ce code fonctionne !');
     
        $('#graphique').highcharts({
            chart: {
                type: 'bar' // pie pour des graphiques en camembert
            },
            title: {
                text: 'Consommation de fruit'
            },
            xAxis: {
                categories: ['Pommes', 'Bananes', 'Oranges']
            },
            yAxis: {
                title: {
                    text: 'Nombre de fruits mangés'
                }
            },
            // Les données de notre graphique
            series: [{
                name: 'Jane',
                data: [1, 0, 4]
            }, {
                name: 'John',
                data: [5, 7, 3]
            }]
        });
    });
     
    });

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    <input type="submit" id="valider" name="valider" value="OK"/>
    il te faut annuler le comportement par défaut, regarde du coté de event.preventDefault(), ta page est rechargée à chaque appui sur le bouton.

  3. #3
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 291
    Points
    291
    Billets dans le blog
    1
    Par défaut
    merci pour cette réponse

    en m'y remettant (avant de voir ta réponse), j'ai bien pensé que la page se rechargeait sur le clic du bouton.
    Dans un premier j'ai supprimé la balise <form> </form>, et ça fonctionne
    Je veux bien admettre que ce n'est pas très propre

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    modifie juste le type de ton sumbti en button ... ça ne soumettra plus le form
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/12/2009, 22h15
  2. Masquage de div qui ne fonctionne pas sur IE
    Par Ziltoid dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/12/2007, 19h31
  3. [DOM] Le texte apparait puis disparait
    Par Nasky dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/06/2007, 14h38
  4. JScrollPane qui apparait et disparait tout le temps
    Par bankette dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 30/05/2007, 23h51
  5. Réponses: 10
    Dernier message: 03/11/2006, 18h39

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