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 :

imprimer une seule partie d'une page


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Points : 42
    Points
    42
    Par défaut imprimer une seule partie d'une page
    Bonjour !

    Est il possible d'imprimer une seule partie d'une page web en imprimant que certains elements en leur donnant des ID et en utilisant getElementById

    Merci pour votre aide

  2. #2
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    en CSS oui c possible

    en javascript tu peux peut etre faire une fonction javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function imprimer(){
    //efface le div
    document.getElementByID("noprint").innerhtml="";
    window.print();
    }
    Plzzz pas de questions par MP.

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    le meilleur moyen serait :
    1. d'ouvrir une pop-up
    2. de coller dans la pop-up les éléments ciblés
    3. d'imprimer la pop-up


    Il existe également le média print en CSS
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @media print
    {
    }
    ne l'ayant jamais utilisé, j'ignore si c'est compatible avec tous les navigateurs.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Points : 42
    Points
    42
    Par défaut
    Merci pour vos reponses l'option javascript je veux bien l'utiliser mais noprint dans getElementById ça refere à quoi au juste ?

  5. #5
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    getElementById(truc) < va chercher l'élément avec l'id truc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="noprint">
    </div>
    Plzzz pas de questions par MP.

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par LeXo Voir le message
    en CSS oui c possible

    en javascript tu peux peut etre faire une fonction javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function imprimer(){
    //efface le div
    document.getElementByID("noprint").innerhtml="";
    window.print();
    }
    je ferai plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.getElementById("noprint").style.display = "none";//on cache l element
    window.print();
    histoire de ne pas perdre le contenu de l'élément, puis lorsque la page est imprimée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("noprint").style.display = "block";//on affiche l element
    au passage c'est Id et non ID
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("noprint")
    Et il faut que l'id soit unique dans ta page

  7. #7
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    tu fais un css pour l'affichage écran et un CSS pour l'affiche impression

    et tu lui attibues la sortie comme suis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link rel="stylesheet" type="text\css" href="impression.css" media="print">
    <link rel="stylesheet" type="text\css" href="affichage.css" media="screen">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //ne pas imprimer
    .maClasse{
    display=none;
    }
    Plzzz pas de questions par MP.

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par LeXo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //ne pas imprimer
    .maClasse{
    display=none;
    }
    petite correction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //ne pas imprimer
    .maClasse{
    display : none;
    }

  9. #9
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    arf
    oui effectivement

    bon je vais devoir exposer la solution css2.0 pour me rattraper

    t'as ton style.css
    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
     
    //défini les parametres de définition sur la sortie d'impression
    @media print {
    Body{
    ...
    }
    } 
     
    //défini les parametres de définition sur la sortie d'écran
    @media screen {
    Body{
    ...
    }
    } 
     
    //défini les parametres de définition sur la sortie écran & impression
    @media screen,print {
    .maClasse{
    ...
    }
    }
    Plzzz pas de questions par MP.

  10. #10
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    sinon
    utiliser le .style.visible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    document.getElementByid('monId').style.visibility="visible";
     
    document.getElementByid('monId').style.visibility="hidden";
    Plzzz pas de questions par MP.

  11. #11
    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
    Display none
    ou visibility hidden,
    tout est question du reésultat souhaité (mise en page)

    mais quoi qu'il en soit il est plus simple de passer par media screen et 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 !

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2007, 13h45
  2. [AJAX] Chargement d'une seule partie de la page
    Par gids01 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 25/03/2007, 19h44
  3. [tiles] rechargement d'une seule partie de la page
    Par Shivan dans le forum Struts 1
    Réponses: 6
    Dernier message: 10/04/2006, 10h42
  4. Réponses: 11
    Dernier message: 06/12/2005, 08h23

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