Joomla.it Forum
Componenti per Joomla! => Gestione Form => : volante2 27 Oct 2012, 17:54:03
-
Buon giorno a tutti,
qualcuno sa dirmi se è possibile aggiungere in un form di Chronoforms un pulsante Stampa che simuli l'azione Ctrl +P che si genera dal menu File - Stampa del browser ( nel mio caso Mozilla).
In alternativa come si può fare per stampare un form prima di inviarlo?
Grazie
-
Credo che potresti creare un "custom element" ed inserire il codice:
<a href="javascript:void(0)" onclick="window.print()">
Stampa pagina
</a>
Al posto di "stampa pagina" potresti mettere un immagine di un bottone
A.
-
Grazie Babaloo,
stasera proverò a fare come hai suggerito...
-
Ho provato a fare come suggerito da Babaloo, ma dato che non conosco l' HTML, non so come mettere una immagine nel codice, e, sopratutto come inserirla di fianco ai pulsanti già esistenti Submit e Reset.
Grazie
-
guarda non è cosi difficile... al posto di "stampa pagina" metti
<img id="stamp" src="percorso dell'immagine" title="titolo dell'immagine">
poi con il css dovresti riuscire ad ottenere l'effetto desiderato, magari modificando gli attributi display e position
A.
-
Una volta che ho messo il percorso dell'immagine nel codice del Wizard Custom Element, come faccio a collegarlo al Wizard Edit e a trasportarlo sul form?
Non sono riuscito a trovare una guida veramente completa di Chrono Forms, tutte si limitano alle funzioni base... che tu sappia ne esiste qualcuna veramente completa?
Saluti
[allegato eliminato da un amministratore essendo vecchio più di un anno]
-
Prima devi completare il tuo form con tutti i campi necessari.
Poi devi entrare nella modalità custom ed inserire il codice di stampa che ti è stato suggerito nell'HTML generato dal wizard.
-
Ciao Vales,
scusa se sono di "coccio" ma non mi è chiaro dove inserire il codice.
Allego una immagine... puoi dirmi in quale parte va inserito?
Grazie
[allegato eliminato da un amministratore essendo vecchio più di un anno]
-
Vedo che stai usando la versione 3 di CF, le istruzioni che ti abbiamo dato erano per la v4.
Quindi devi aprire la voce Form Html, dove vedrai il codice del HTML del form. Il codice dovresti inserirlo all'inizio del form.
-
Ciao Vales, di nuovo io, ma con un altro problema,
Sono riuscita a far stampare un form così come avete indicato tu e babalo in questa discussione, ma utilizzando il codice indicato:
<a href="javascript:void(0)" onclick="window.print()">
Stampa pagina
</a>
mi stampa proprio tutta la pagina (praticamente intestazione del templete ecc.), mentre io vorrei solo la stampa del form che ho creato.
Grazie
-
Io uso questo sistema.
Una funzione javascript e del codice che la chiama e delimita il testo da stampare
<?php
$js =<<<EOF
<script type="text/javascript">
//<![CDATA[
function printDiv()
{
var a = window.open('',"b", "height=500,width=600,menubar=yes,scrollbars=yes,resizable=yes,,left=10,top=10");
a.document.open("text/html");
a.document.write(document.getElementById('foo').innerHTML);
a.document.close();
a.print();
}
//]]>
</script>
EOF;
echo "<div id=\"foo\">";
echo $js;
?>
<div style="float: right; clear:left;" id="PSR_print"><input onclick="printDiv();" type="image" src="<?php echo JURI::base().'media/system/images/printButton.png';?>" alt="Stampa"/></div>
<!-- di inizio area di stampa -->
codice da stampare
</div><!-- div di fine area di stampa div foo-->
-
interessante post...spero che qualcuno ancora risponda visto il tempo passato
sto proprio provando nel portale intranet PA che gestisco (joomla 1.5), ma non riesco a focalizzare la mia area di stampa.
in pratica ho inserito, nel "post 4 after form submission", click nell'editor html, la prima parte del codice di Vales, poi ho messo la seconda parte quella che indica l'inizio e la fine dell'area di stampa, ma quando vado a compilare il form, dopo aver fatto l'invio (e la mail arriva correttamente, nella pagina post4 che mi arriva trovo come prime righe questo codice:
EOF; echo "
"; echo $js; ?> codice da stampare
e la scritta "stampa" a dx, cliccabile, che però non produce nessun effetto
dove sbaglio a scrivere il codice ? ? ?
grazie, Valter
-
Controlla di aver inserito correttamente i tag di inizio di PHP.
Quale versione di Chronoforms stai usando ?
-
ciao e grazie per la cortese risposta
la versione che uso è la v3.2.0
mi sono sicuramente intrippato nel digitare il testo dello script
riporto tutto qua sotto, magari torna più facile darmi una mano:
<!--?php $js =<<<EOF <mce:script type="text/javascript"--><!-- function printDiv() { var a = window.open('',"b", "height=500,width=600,menubar=yes,scrollbars=yes,resizable=yes,,left=10,top=10"); a.document.open("text/html"); a.document.write(document.getElementById('foo').innerHTML); a.document.close(); a.print(); } // -->
<p>EOF; echo "</p>
<div id="\">"; echo $js; ?>
<div id="PSR_print" style="float: right; clear:left;"><input onclick="printDiv();" alt="Stampa" src="<?php echo JURI::base().'media/system/images/printButton.png';?>" type="image" /></div>
<!-- di inizio area di stampa --> codice da stampare</div>
<h3 style="text-align: justify;">Venezia, {date_18}
</h3>
<h3 style="text-align: justify;">
</h3>
<h3 style="text-align: justify;">Oggetto: comunicazione malattia {select_18}</h3>
<h4 style="text-align: justify;">
</h4>
<h3 style="text-align: justify;">AL SIG. DIRIGENTE</h3>
<p> </p>
<h3 style="text-align: justify;">Il sottoscritto {operatore} in servizio presso l'Ufficio , con la presente dichiara quanto segue:</h3>
<h3 style="text-align: justify;">alle ore {alleore} del giorno {date_18} venivo contattato dal dipendente {select_18} il quale riferiva di essere chiedente visita dal giorno {date_16} e di aver avuto giorni {gg_malattia} di malattica dal medico {medico}; lo stesso chiede di essere posto in {select_15}.</h3>
<h3>
</h3>
<h3>Comunica inoltre di fruire della malattia presso {rec_citta} {indirizzo}, con recapito telefonico {telefono}.</h3>
<h3>
</h3>
<h3>Quanto sopra si riferisce per doverosa conoscenza.</h3>
<p> </p>
<h3 style="text-align: right;">l'operatore C.O.T.</h3>
<p style="text-align: right;">{operatore}</p>
<!-- div di fine area di stampa div foo-->
<p></p>
<p><span style="color: #ff0000;"><span style="font-family: verdana,geneva;">la "segnalazione di malattia" è stata inviata con successo
</span></span></p>
-
Il codice da inserire è come quello che ho già riportato sopra ed inizia con il tag di apertura PHP, in quello che mostri invece il codice iniziale php è all'interno di un commento HTML e quindi non può essere riconosciuto dal server.
Può dipendere poi da dove lo hai inserito nei campi di configurazione del form.
-
immaginavo di aver fatto confusione !!
quel testo l'ho "pescato" cliccando sul pulsante html dell'editor di testo presente nel "post4" del chronoform
evidentemente devo entrare nel server, da terminale o localmente come root, e modificare il file relativo al form in questione
domani appena ho un attimo ci provo
grazie ancora
Valter
-
niente da fare...
sono connesso via SCP alla macchina server, dentro var/www/ ma non riesco a trovare dove il chronoform tiene i file del form che sto modificando
-
No, non è quella la strada il codice dei form è nel database.
Dovresti agire inserendo il codice già citato in modo opportuno nel campo Form Html della tab Form code.
Praticamente il codice del form che hai creato ed ora vedi nel campo Form Html, dovrebbe stare al posto di "codice da stampare" nel codice che ho postato.
-
wow...ci sono riuscito
grazie mille per l'utile suggerimento
ho aggiunto il tuo codice nella parte "On Submit code - after sending email:" del tab form code
non hai idea quanto tempo abbiamo risparmiato...prima toccava trascrivere tutto a penna su modulo cartaceo...
benedetta burocrazia !!