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 :

"Dialog" et impression PDF [UI]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 143
    Par défaut "Dialog" et impression PDF
    Bonjour,

    Alors voici mon petit souci : j'ai crée un dialog pour pouvoir faire une impression pdf avec pdfCreator du résultat de ma fenêtre. Le bouton "Continuer" permet de faire un printAera. Le problème est que lorsque j'ai ajouté le fichier css jquery-ui.css ma boîte dialog est devenue toute belle sauf qu'elle c'est incrusté dans mon impression et le problème et que je n'arrive pas en gros à la cacher

    Bien sur j'ai testé avec les options et events : beforeClose et hide, mais ça ne change rien.

    Voici les résultats d'avant et après avoir ajouté le css :
    • Avant le css : Nom : Normal.JPG
Affichages : 492
Taille : 26,9 Ko
    • Après le css : Nom : Pas normal.JPG
Affichages : 412
Taille : 24,0 Ko


    Et voici le code :
    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
    $j("#btntest").click(function(){$j("#myDiv2").dialog('open')});
    $j( "#myDiv2" ).dialog({
    	height: 140,
    	title: "Confirmation",
    	modal: true,
    	autoOpen : false,
    	draggable: true,
    	closeOnEscape: true,
    	buttons: [{
                text: "Continuer",
                click: function() {
    		$j("#myDiv").printArea( {} );
                    // Cancel code here
                    $j(this).dialog("close");
                }
            },
            {
                text: "Annuler",
                click: function() {
                    // Save code here
                    $j(this).dialog("close");
                }
            }]
    });

  2. #2
    Membre très actif
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 548
    Par défaut
    J'ai avec moi une solution mais je ne peux pas tester car il me manque de chose, mais bon s'il y a le moindre soucis reviens ici.
    Alors on pourrait écrire le code de fermeture avant l'impression, et enregistrer un événement close une fois fermé, faire un dans css un dysplay none ou enlever carrément le dialog du DOM avec un remove ou un detach si tu veux le réutiliser, ou . A moins que tu as besoin de ton dialogue en plein traitement de l'impression.

    Mais on crains que ça ne laisse pas l’action d'impression finir son corps car tu attache tout au dialogue. Donc on va fermer après, mais on va jouer sur l'état asynchrone de JavaScript alors on va créer une fonction à part et faire juste l'appel donc le dialogue ne sera pas responsable de l’échec de l'impression si on le démlit.

    Code JavaScript : 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
     
     
    function imprimer(){
     
            $("#myDiv").printArea( { } );
     
    }
    $("#btntest").click(function(){$("#myDiv2").dialog('open');});
     
    $( "#myDiv2" ).dialog({
              height: 140,
              title: "Confirmation",
              modal: true,
              autoOpen : false,
              draggable: true,
              closeOnEscape: true,
     
              close: function(event, ui){ 
                        //On le garde quelque part
                        madialog=$(this).detach() ; },
     
              buttons:             [                {
                        text: "Continuer", 
                       click: function() {
     
             //IL FAUX TESTER LES DEUX OU JOUER SUR LES CSS
              imprimer(); 
              $(this).dialog("close");
     
             /*L'idéal serait ceci alors teste le, normalement ça doit bien marcher
              $(this).dialog("close");
               imprimer();*/ 
     
    }                }, 
     
    {  text: "Annuler",
        click: function() {          
     
       // Save code here 
                           $(this).dialog("close"); 
       }                }            ] 
     
    });

  3. #3
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    un media print en css ne suffirait il pas ???
    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 !

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 143
    Par défaut
    Tout d'abord merci de m'avoir répondu

    @la.lune :

    J'ai essayé tes 2 manip mais malheureusement sa ne marche pas

    La première manip ne change rien sa fait toujours le même résultat et la deuxième me fait ça :
    Nom : Pas top.JPG
Affichages : 368
Taille : 13,4 Ko

    Du coup mon tableau n'est plus chargé


    @SpaceFrog :

    J'avais essayé ça au tout début de créer une autre page css pour le media print, mais en faisant ça mon tableau n'avait plus du tout de couleur n'y rien. Mais ce n'est pas mon but car moi je souhaite faire une impression pdf selon une partie de la page spécifique qui est mon tableau et non de toute la page.

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    en quoi media print t'oblige-t-il à créer une autre page ..

    colle juste un display non à l'élement qui te gène dans le media print ...
    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 !

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 143
    Par défaut
    Bah je connaissais pas, du coup je suis allé voir quelques tuto et la plupart disait de faire une page css en plus pour la différencier de celle de base. Mais de toute façon ce n'est pas ce que je recherche car cela concerne toute la page, alors que moi c'est juste un morceau de la page qui m'intéresse.

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

Discussions similaires

  1. Impression PDF et imprimante par défaut
    Par bobbafet dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/11/2004, 21h33

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