Joomla.it Forum
Componenti per Joomla! => Gestione Form => : stefyfede 10 Dec 2010, 09:10:23
-
Ho creato un form con ChronoForm l'utente lo compila e mi arriva una mail fin quì tutto regolare.
E' possibile mettere al termine del form un bottone di stampa così da avere la stampa del form come l'ho impostata in email template??
Grazie
---------------
ilvanni - edit: corretto titolo.
-
In Albo Pretorio ho ottenuto la stampa dei contenuti del form usando questo codice da inserire in Form HTML prima dell'area del form di cui si desidera la stampa, insieme ad una funzione javascript
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=atto_10_mostra&valore=".Jrequest::getVar('valore',0,'GET','INT');?>" onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printButton.png';?>" alt="Stampa"/></a></div>
<div id="foo">
<!-- div di inizio area di stampa -->
<!-- inserire qui la parte del form da stampare -->
</div><!-- chiusura div foo di stampa -->
funzione da inserire in Form javascript
function printDiv(elementId)
{
var a = window.open('','Stampa', "height=500,width=600,location=no,menubar=yes,scrollbars=yes,resizable=yes,statusbar=no,left=10,top=10");
a.document.open("text/html");
a.document.write(document.getElementById(elementId).innerHTML);
a.document.close();
a.print();
}
-
Ho fatto come mi hai detto mami esce questo errore e mi fà stampare una pagina bianca
come posso fare???
Grazie
"There is no form with this name or may be the form is unpublished, Please check the form and the url and the form management "
-
Devi inserire il nome del tuo form dove c'è quello del mio ;D
sostituisci questo pezzo
chronoformname=atto_10_mostra&valore=".Jrequest::getVar('valore',0,'GET','INT');?>"
con
chronoformname=nome_tuo_form"
-
L'avevo già fatto ma non funziona!!!
mi esce quel messaggio di errore
heeeelp!!!
-
L'errore indica un nome di form sbagliato oppure il form non attivato.
Posta il link che hai realizzato.
-
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=form_pronto" onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printButton.png';?>" alt="Stampa"/>[/url]</div><div id="foo">)"><img src="<?php echo JURI::base().'images/M_images/printButton.png';?>" alt="Stampa"/>[/url]</div>
<div id="foo">
<!-- div di inizio area di stampa -->
<!-- Nome {text_1} Cognome {select_1} Mail {date_1} -->
</div><!-- chiusura div foo di stampa -->
Ora i esce questo messaggio:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/rapporto/public_html/components/com_chronocontact/chronocontact.html.php(184) : eval()'d code on line 551
-
Quel codice che hai mostrato era un po' tormentato prova questo
<div style="float: right; clear:left;" id="PSR_print">
<a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=form_pronto"; ?>" onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printButton.png';?>" alt="Stampa"/></a>
</div>
<div id="foo">
<!-- div di inizio area di stampa -->
Nome {text_1} Cognome {select_1} Mail {date_1}
</div><!-- chiusura div foo di stampa -->
-
Grazie ora funziona.
L'unica cosa è che a video mi fà vedere la cosa da stampare ma se clicco sulla stampantina in alto torna al form e non permette la stampa
come maii???
-
Nella finestra che si apre per la stampa non si deve vedere l'icona della stampante. C'è qualcosa che non va nel codice controlla ed eventualmente posta il codice.
-
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=rapporto_pronto&valore=".Jrequest::getVar('valore',0,'GET','INT');?>" onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printBotton.png';?>" alt="Stampa"/>[/url]</div><div id="foo">
<!-- div di inizio area di stampa -->
nome {text_20} cognome {text_21} mail {text_22}
<!-- chiusura div foo di stampa -->
-
Puoi inserire la copia del codice del template dell'email nel campo On submit code - after sending email.
Ho ricorretto il codice. La copia del codice del tempalte deve essere all'interno del div "foo" come indicato sotto, ovviamente senza i commenti.
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=rapporto_pronto" onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printBotton.png';?>" alt="Stampa"/></a>]</div>
<div id="foo">
<!-- div di inizio area di stampa -->
<!-- qui devi inserirel a copia del template -->
<!-- chiusura div foo di stampa -->
-
Ci ho provato ma appena invio il form mi esce:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/rapporto/public_html/components/com_chronocontact/libraries/customcode.php(51) : eval()'d code on line 5
Mi sarebbe anche utile poter attivare un tasto salva, appena inviato il form con il testo del template email
Grazie
-
C'era un errore nel codice. Prova questo.
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=rapporto_pronto"; ?>" onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printBotton.png';?>" alt="Stampa"/></a></div>
<div id="foo">
<!-- div di inizio area di stampa -->
<!-- qui devi inserire la copia del template -->
<!-- chiusura div foo di stampa -->
-
niente, ora l'errore non compare più, compare il template corretto ma compare anche una stampantina che cliccandola torna alla pagina precedente "inizio form"
-
Alt, quel javascript era costruito per il form non per la conferma del form. Li non può funzionare va modificato, ma c'è da studiarci un po'.
-
ok aspetto tue notizie, grazie
-
Vales ho preso spunto dal tuo post per realizzare un metodo di stampa di un mio form, con le dovute modifiche tutto funziona alla perfezione ma ho un problema con lo sfondo del form che non viene stampato.. qualche soluzione?
-
Il metodo dovrebbe consentire la stampa di tutto quello che è compreso fra i tag div di stampa controlla un po' questo aspetto.
-
Sìsì ho risololto, era un problema di dimensioni, grazie ;)
-
Salve
Ho notato che al click la pagina principale viene ricaricata e i campi di testo completamente ripuliti dai dati.
Come si può risolvere questo inconveniente?
-
Ciao Sidus sto impazzendo per capire come stampare il mio form, saresti così gentile da spiegarmi come hai fatto?
Al limite se mi posti il codice che hai utilizzato poi lo modifico e vediamo se funziona.
Grazie :)
-
Buongiorno,
interessantissima la possibilità di stampare, però ho un problema:
quando clicco sulla stampantina, funziona perfettamente però mi sbianca la form ripartendo da zero. Invece vorrei stampare lasciando però i campi compilati per poi poterli salvare.
Grazie!
-
Salve
Ho notato che al click la pagina principale viene ricaricata e i campi di testo completamente ripuliti dai dati.
Come si può risolvere questo inconveniente?
Buonasera,
posso chiederti visto che è passato un pò di tempo dalla tua domanda, se per caso hai risolto il problema? Perchè altrimenti mi risulta poco utile stampare una form ma poi non riuscire a salvarla.
Ti ringrazio tanto.
Alessandro
-
Ciao a tutti e grazie in anticipo per la collaborazione.
Ho creato un form ma non riesco a capire dove devo inserire il codice per la stampa, devo andare in forms manager->code e scrivere nel box HTML CODE?
Lì ho già del codice (html relativo al form) devo inserire il codice che avete riportato su questo thread in cima al codice già presente?
Per quanto riguarda invece il codice javascript, questo non ho proprio capito in quale scheda va inserito, help!!!
Grazie
-
.
-
Ho provato un altro sistema su un form di nome form_stampa composto da un solo campo di testo .
Form code
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">campo 1</label>
<input class="cf_inputbox" maxlength="150" size="30" title="" id="text_0" name="text_0" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_button">
<input value="Submit" name="button_1" type="submit" /><input type="reset" name="reset" value="Reset"/>
</div>
<div class="cfclear"> </div>
</div>
In On submit code - after sending email ho inserito questo.
<script type="text/javascript">
//<![CDATA[
function printDiv(elementId)
{
var a = window.open('','Stampa', "height=500,width=600,location=no,menubar=yes,scrollbars=yes,resizable=yes,statusbar=no,left=10,top=10");
a.document.open("text/html");
a.document.write(document.getElementById(elementId).innerHTML);
a.document.close();
a.print();
}
//]]>
</script>
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."index.php?option=com_chronocontact&chronoformname=form_stampa";?>" onclick="printDiv('area_stampa')"><img src="<?php echo JURI::base().'images/M_images/printButton.png';?>" alt="Stampa"/>[/url]</div>
<div id="area_stampa">
<!-- inizio campi form -->
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">campo 1</label>
<input class="cf_inputbox" maxlength="150" size="30" title="" id="text_0" name="text_0" type="text" value="{text_0}"/>
</div>
<div class="cfclear"> </div>
</div>
<!-- fine campi form -->
</div><!-- chiusura div area_stampa -->
In pratica fra inizio campi e fine campi del form ho inserito il codice del campo del form aggiungendo la proprietà value a cui è assegnato il valore del campo {text_0}
Lo stesso metodo andrebbe usato per gli eventuali altri campi del form.
Ricordarsi di usare il nome del proprio form.
-
Scusate il ritardo....anch'io ho la stessa esigenza di stampa e sono riuscito e tutto funziona.L'unica cosa è che a video mi fà vedere la cosa da stampare. Come si può ovviare a questo