Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    Stampare solo un <div> di una pagina tramite scripting

    Buongiorno a tutti,
    ho una pagina con una form che, premendo invio, crea automaticamente una lista di risultati.
    Io vorrei inserire un link per far stampare solo la lista.
    Pensate che sia possibile, con JavaScript, VBScript o DHTML, inserendo in un <div> la lista generata?
    Kisses,

    Nat

  2. #2
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Naturalmente mi va bene anche una soluzione con i CSS...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il "bottone" non puoi farlo con i CSS: e` un'azione e per tale azione hai necessita` di JS:
    <button value="stampa" onclick="window.print();">

    Poi devi realizzare un CSS richiamato con
    media="print"
    in cui tutti gli elementi tranne la tabella che vuoi stampare hanno
    display:none;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Tutto perfetto, ma ricorda che il contenuto del DIV è creato dinamicamente: come faccio a passarlo alla pagina cui viene applicato il foglio di stile per la stampa?
    Io avrei pensato di fare uno script simile a questo:

    <SCRIPT language="JavaScript">
    function openWin(cat){
    var strURL = 'codici.asp?cat=' + cat; window.open(strURL,"Codici","width=500,scrollbars= yes");
    }
    </SCRIPT>

    in cui metterei l'attributo onLoad="javascriptrint();close();" nel tag BODY.
    Il problema è: dovrei passare come parametro quello che viene "stampato" nel div, tramite una query ad un database. Lo giudicate possibile?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sa che stai facendo confusione fra lato server e lato client.

    Lato server puoi generare quello che vuoi e come vuoi, purche` lato client arrivi una pagina che contiene quello che vuoi stampare.
    La pagina da stampare deve essere corredata da un CSS specifico per la stampa.
    Se nella stessa pagina ci sono altri elementi, tutti quelli da non stampare devono avere nel CSS
    display:none;


    Per il JS che avvia la stampa, la sintassi corretta e`:
    onload="self.print();"
    (occorre specificare la finestra: self e window sono sinonimi)

    Invece non puoi specificare il close() automatico:
    L'operazione di stampa richeide l'intervento dell'utente, e se chiudi la pagina prima di stamparla non stampi nulla.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Fammi capire: se metto un foglio di stile per la stampa, e faccio un semplice



    Stampa questa lista</P>

    verrà stampato solo quanto specificato nel foglio di stile, mentre a video continua ad essere visualizzato tutto?
    Ho capito bene?
    Nel qual caso: puoi farmi un esempio concreto di pagina, in cui viene visualizzata anche una form, ma vengono stampati solo i risultati?
    Kisses,

    Nat

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa e` stata trattata piu` volte nel forum sui CSS.
    codice:
    <head>
    <title>titolo</title>
    <link type="text/css" media="screen" src="normale.css">
    <link type="text/css" media="print" src="stampa.css">
    </head>
    <body>
    <div id="testata">
      ...
    </div>
    <div id="corpo">
      ...
      <form ...>
      ...
    </div>
    <div id="altro">
      ...
    </div>
    </body>
    Il CSS di stampa sara` del tipo:
    codice:
     #testata {
      display: none;
    }
    #altro {
      display: none;
    }
    #corpo {
      /* probabilmente uguale a quello normale */
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Avevi ragione: ho provato ancor prima di leggere il tuo post, e funziona tutto.
    Davvero facilissimo, ma prezioso!
    Che potenza i CSS!
    Kisses,

    Nat

  9. #9
    Aggiungo a questa interessantissima discussione un mio personale problema....

    E se volessi ruotare il foglio al momento della stampa in automatico (per intendersi in modalita' LANDSCAPE invece che VERTICALE), e' possibile aggiungere questo comando a livello di CSS o del bottone JS?

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da yuppysearch
    Aggiungo a questa interessantissima discussione un mio personale problema....

    E se volessi ruotare il foglio al momento della stampa in automatico (per intendersi in modalita' LANDSCAPE invece che VERTICALE), e' possibile aggiungere questo comando a livello di CSS o del bottone JS?
    Prendi ispirazione da qui: http://home.tampabay.rr.com/bmerkey/...cape-test.html

    ciao

    ps: pero' non avevi motivo di accodarti alla discussione... il tuo problema e' tutt'altra cosa
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.