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 :

Télécharger un table dynamique sous forme d'un CSV


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 46
    Points
    46
    Par défaut Télécharger un table dynamique sous forme d'un CSV
    Bonjour,

    je cherche à explorer mon table dynamique en cliquant sur un bouton.

    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
     
     function table2CSV() {
                    var dataURL = '',
                            fieldSeparator = ';',
                            textField = '"',
                            lineSeparator = '\n',
                            regExpTesto = /(")/g,
                            regExp = /[";]/;
     
                    $('#contrat tr').each(function () {
                        var dataRow = '';
     
                        //th
                        $('th', this).not(':last').each(function () {
                            var value = $(this).text();
                            if (dataRow != '')
                                dataRow += fieldSeparator;
     
                            if (regExp.test(value)) {
                                value = textField + value.replace(regExpTesto, '$1$1') + textField;
                            }
                            dataRow += value;
     
                        });
     
                        $('td', this).not(':last').each(function () {
                            var value = $(this).text();
                            if (dataRow != '')
                                dataRow += fieldSeparator;
     
                            if (regExp.test(value)) {
                                value = textField + value.replace(regExpTesto, '$1$1') + textField;
                            }
                            dataRow += value;
     
                        });
                        if (dataURL != '')
                            dataURL += lineSeparator;
                        dataURL += dataRow;
     
                    });
                    return 'data:text/csv;charset=utf-8;base64,' + btoa(dataURL);
                }
                function download(event) {
     
                    // event.preventDefault();
                    $(this).attr('href', table2CSV());   // Setting the dataURI
                }
     
                $('a').on('click', download);       // Attaching the event
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <a href="#" download="example.csv">
        <button class="pull-right" style="border:none ; background-color: Transparent;">
            <i><img src="assets/img/iconsta/iconexcel.png"></i>
        </button>
    </a>

    Le problème est quelque soit le bouton cliqué un téléchargement est exécuté...

  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 122
    Points
    44 122
    Par défaut
    Bonjour,
    • pourquoi un <button> dans un <a> ?
    • pourquoi avoir commenté // event.preventDefault(); ?
    • pourquoi mettre un download="example.csv" si tu ne veux pas downloader ?

Discussions similaires

  1. [MySQL] Récupération table MySQL sous forme de tableau
    Par samuel4256 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/07/2010, 13h27
  2. Réponses: 2
    Dernier message: 27/06/2007, 10h22
  3. [MySQL] afficher un champ d'une table mysql sous form d'un menu combobox
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2007, 11h29
  4. Réponses: 2
    Dernier message: 15/12/2006, 10h31
  5. [langage] Table Dynamique sous PERL ?
    Par Slippers dans le forum Langage
    Réponses: 9
    Dernier message: 09/02/2005, 08h30

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