Joomla.it Forum

Componenti per Joomla! => Gestione Form => : monak83 19 Mar 2010, 12:04:02

: Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 19 Mar 2010, 12:04:02
Ciao a tutti,
 leggendo sul forum ho notato che è richiesta comune di parecchi utenti avere un sistema di preventivo online simile a quelli presenti nei siti di stampa digitale.

Qui alcuni esempi:
www.pixart.it
www.tictac.it
www.multigrafica.net
www.pacoprint.it

e altri

Nella ricerca di un componente simile ho capito che non è presente ma, navigando notti intere, mi è saltato all'occhio un sito che è riuscito a creare il PREVENTIVATORE ONLINE tramite dei forms ed è riuscito ad integrarlo con VirtueMart.

Il sito in questione è www.grafimage-services.com

Analizzandolo è risultato che i forms sono stati creati con FacileForms.

Conclusione: tramite i componenti per realizzare forms è possibile creare un preventivatore online e, magari, integrarlo con VirtueMart cosi da realizzare un vero e proprio portale di vendita per la stampa digitale.

Ho notato che FacileForms non è più disponibile per Joomla 1.5 se non in Legacy Mode.

Detto questo il mio topic vuole creare un gruppo di persone per condividere idee su come e in che modo realizzare questo PREVENTIVATORE che tutti cercano ma nessuno trova (se non a cifre pazzesche).

Che ne pensate?
Vi unite a me?

Iniziamo con lo scegliere il migliore componente per realizzare forms che abbia la possibilità di personalizzare campi, inserire codice etc.

Dai...io ho fatto il primo passo...ora tocca a te!!!

Ciao

monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: frascan 19 Mar 2010, 12:21:18
Basta trovare un buon generatore di forms e poi lavorarci su direi
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: mau_develop 19 Mar 2010, 12:24:26
fare un preventivatore è un'idea senza senso...
preventivatore per cosa?
costruzione missili nucleari? Vendita pop-corn?

Solitamente ci si applica a realizzare cose più specifiche ... che hanno già le loro complessità senza infilarsi in infinite variabili

M.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: frascan 19 Mar 2010, 12:27:44
Infatti. Anche perchè a seconda del prodotto cambiano le esigenze.
Per cui a mio avviso se non si hanno particolari esigenze un buon generatore di form ben configurato per l'uso potrebbe essere più che adeguato.

Mi sono imbattuto in questa esigenza un po d tempo fa notando che in molti hanno tentato la cosa soprattutto cercando di realizzare un preventivatore per virtuemart ma tutti i progetti di team di sviluppo sono naufragati. Forse la cosa è un pochino troppo complessa  ;)
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: alexred 19 Mar 2010, 12:28:21
Ottima idea monak83,
effettivamente è una cosa molto utile e non semplice da realizzare.
Prova ad attirare l'attenzione di vales

http://forum.joomla.it/index.php?action=profile;u=7570

che ha appena finito di costruire l'Albo Pretorio On-line con Chronoforms
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 19 Mar 2010, 12:29:42
Il preventivatore è inerente al discorso dei siti web che fanno stampa digitale, ma puo essere espanso a qualsiasi altro settore.

Visto che diverse persone lo cercano non credo che sia un'idea senza senso.

Iniziamo con l'individuare il generatore di forms migliore e più adatto a questo scopo no?

Ciao

monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: frascan 19 Mar 2010, 12:32:34
Beh in questa ottica direi che la proposta di alexred di farci aiutare da vales è ottima perchè il nostro vales conosce molto bene chronoforms ed ha realizzato cose molto molto interessanti e complesse.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 19 Mar 2010, 12:35:40
L'ho appena contattato tramite PM...vediamo che dice.
P.S. sono contento che il mio post abbia riscontrato immediatamente interesse.

Dai ragazzi...il bello dell'open è questo...condivisione di idee!!!

Ciao monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: frascan 19 Mar 2010, 12:53:04
Bene! :)
Allora attendiamo la risposta di vales; teniamoci in contatto e vediamo che riusciamo a combinare  ;)
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 19 Mar 2010, 16:18:39
Siete dei provocatori. ;D

Vi ringrazio tutti per la fiducia che mi avete attribuito.
Ho visto i link che sono stati mostrati e credo non vi siano problemi a realizzare ciascun singolo form simile a quelli di esempio con chronforms e company.

Quindi la risposta a ciascun problema specifico di quel tipo è possibile.
Credo sia da sviluppare un metodo che poi si applica con le opportune varianti alla varie situazioni e di volta in volta il form viene adeguato alle esigenze.

In sostanza si può realizzare uno scheletro di applicazione che poi va adattato alle situazioni specifiche aggiungendoci i particolari.

Pensare invece ad un'applicazione "preventivatore", ma che in realtà sarebbe un generatore di form di qualsiasi tipo e un'altra cosa.

La domanda che mi pongo è a cosa serve un generatore, di form quando ho già disponibile chronoforms?

Faccio un esempio pratico, supponiamo che abbiamo realizzato il "preventivatore".

Di volta in volta dovrei definire in qualche modo, da qualche parte, in una finestra i campi necessari, il loro tipo, le dimensioni, la validazione ecc.
Quindi con un impegno a monte che mi richiede di definire il form con i suoi campi e poi un impegno per definire le caratteristiche di ogni singolo campo nella fase di creazione del form.

Ebbene questa fase non la vedo diversa da quella di definire un form con il wizard di chronoform che già ha disposizione un catalogo di campi standard da poter usare ed addirittura, oltre a questi, dei campi custom definibili dall'utente e riutilizzabili per tutti gli altri form.

Il mio parere quindi è che se si pensa ad un'applicazione che realizza dei form dedicati a preventivi alla fine avremo un'applicazione che sarà molto simile a chronoform.

Se vogliamo invece realizzare un "form tipo" adattabile ai preventivi con varie funzionalità, la cosa è senz'altro fattibile con un lavoro di squadra, come quello che abbiamo attivato per Albo Pretorio On Line, e che è che ancora in corso.

http://forum.joomla.it/index.php/topic,92012.0.html. (http://forum.joomla.it/index.php/topic,92012.0.html.)

Alla fine penso avremo un prototipo che sarà adattabile con pochi passaggi alle esigenze di ogni "preventivo".

Per funzionalità indendo: campi calcolati, dropodown, campi a scomparsa o apparizione in funzione di altre scelte precedenti, ecc.

Si tratta dunque di definire le tipologie di queste funzionalità richieste e di produrre il codice che risolve ciascuno di questi problemi.

Se vogliamo provare non mi tiro indietro.

"Chi si estranea dalla lotta è un gran figlio di ............... "
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 19 Mar 2010, 16:33:57
Grazie mille vales per la tua risposta.
Quindi direi di optare per l'ultilizzo di ChronoForms.
Ora da dove partiamo?

Io partirei con il provare a realizzare un form che chiede all'ultente di configurare un banner (ad esempio):

- numero di copie
- base
- altezza
- tipo di supporto su cui stampare con relativo prezzo al metro quadrato
 
In base a queste caratteristiche dare un risultato , ovvero il costo

Purtroppo non ne so nulla di ChronoForms...magari vales potresti indicarci i passi da seguire nel tentare di realizzare una cosa del genere?

NOTA: affinchè il sistema preventivo sia completo dovrebbe essere possibile, una volta configurato un prodotto (numero di copie, grammatura, finiture etc), aggiungerlo ad un carrello tipo VirtueMart.

Quindi servirebbe una connessione tra il prodotto generato con ChronoForms e Virtuemert...credete sia possibile?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: mau_develop 19 Mar 2010, 17:00:24
Di volta in volta dovrei definire in qualche modo, da qualche parte, in una finestra i campi necessari, il loro tipo, le dimensioni, la validazione ecc.
Quindi con un impegno a monte che mi richiede di definire il form con i suoi campi e poi un impegno per definire le caratteristiche di ogni singolo campo nella fase di creazione del form.

Ebbene questa fase non la vedo diversa da quella di definire un form con il wizard di chronoform che già ha disposizione un catalogo di campi standard da poter usare ed addirittura, oltre a questi, dei campi custom definibili dall'utente e riutilizzabili per tutti gli altri form.
Il mio parere quindi è che se si pensa ad un'applicazione che realizza dei form dedicati a preventivi alla fine avremo un'applicazione che sarà molto simile a chronoform.
---------------------------------------------------------------

... con il termine "senza senso" intendevo esattamente questo.

hanno abbandonato tutti perchè si sono resi conto che la scomposizione ai minimi termini necessaria alla flessibilità dovuta ai diversi usi.... c'era già :) e non era possibile fare di più.

Ogni lavoro "tecnologico" ha le sue peculiarità.
Persino due service di stampa digitale potrebbero avere esigenze molto diverse in funzione della macchina.

Potrei aver bisogno di una valorizzazione della "profumazione mughetto" al foglio che stampo perchè la mia macchina lo fa e per me sarebbe indispensabile averlo.

Secondo me è meglio se ti infili nella realizzazione del tuo modulo preventivi... con chronoform o similare.

M.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 19 Mar 2010, 17:15:47
Giusto...con preventivatore intendevo dei forms generati con, appunto, un generatore di forms.

Ora siamo arrivati a scegliere ChronoForms...in quanto il più potente e sul quale vales ha già lavorato.

Ora proverei a realizzare un form come quello che ho proposto nel post precedente...solo che non è così immediato ChronoForms.

Magari vales ci aiuta.

Ciao
monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 20 Mar 2010, 12:38:35
Ciao ragazzi,
 io sto continuando nello sviluppo e realizzazione di questi forms personalizzati e, come prova, ho provato a realizzarne uno che data Base e Altezza calcola l'Area; ecco gli steps che ho seguito:

- Form Wizard ho creato 3 texbox (base, altezza, area)
- da Forms Management ho aperto il mio form e sono andato alla scheda Form Code
- ho aperto Form Html (cliccando su +/-) e ho modificato il codice (vedi sotto)
- ho aperto la scheda Form JavaScript e ho aggiunto il codice (vedi sotto)

FORM HTML

:
<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 50px;">Base</label>
    <input class="cf_inputbox validate-number" maxlength="150" size="30" title="" id="text_0" name="text_0" type="text" onChange="updatethis(this.form);" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 50px;">Altezza</label>
    <input class="cf_inputbox validate-number" maxlength="150" size="30" title="" id="text_2" name="text_2" type="text" onChange="updatethis(this.form);"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 50px;">Area</label>
    <input class="cf_inputbox validate-number" maxlength="150" size="30" title="" id="text_6" name="text_6" type="text"/>
 
  </div>
    <div class="cfclear">&nbsp;</div>
</div>


FORM JAVASCRIPT


:
function updatethis(form) {
      form.elements['text_6'].value =  form.elements['text_0'].value * form.elements['text_2'].value);
       }

In pratica ho aggiunto:
- onChange="updatethis(this.form);" ai campi base e altezza
- la funzione javascript che effettua la moltiplicazione

PROBLEMA:
Il campo AREA non si aggiorna, rimane vuoto.
Dove sbaglio?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 20 Mar 2010, 17:22:21
Ho inserito alcune modifiche.

1) è necessario inizializzare i valori dei campi altrimenti javascript non funziona
2) ho modificato i valori dei nomi dei campi per rendere più comprensibile il codice
3) il calcolo avviene se dopo l'inserimenti si clicca conil mouuse in qualsiasi punto del form, quindi o dovremo esplicitare questa cosa oppure si inserisce un bottone "calcola" da premere per fare il conto.

:
<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Base</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="inserire un numero" id="text_0" name="base" type="text" onChange="updatethis(this.form);" value=""/>
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Base :: inserire la misura della base</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Altezza</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="Inserire un numero valido" id="text_1" name="altezza" type="text" onChange="updatethis(this.form);" value=""/>
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Altezza :: Inserire la misura dell'altezza</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Area</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_2" name="area" type="text" value="0" readonly="readonly"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Invia" name="button_3" type="submit" /><input type="reset" name="reset" value="Reset"/>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

:
function updatethis(form) {
      form.elements['area'].value = form.elements['base'].value * form.elements['altezza'].value;
      }
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 20 Mar 2010, 17:54:21
Ottimo funziona alla grande...grazie vales.
Quindi ricordiamo, bisogna inizializzare i valori tramite value=""!

Ora vorrei inserire una Dropdown con delle opzioni:

Tipo di carta:
- lucida (10€/mq)
- opaca (6€/mq)
- fine (8€/mq)

A seconda della scelta vorrei che venisse applicato il costo al mq.

Come faccio con javascript a far moltiplicare l'area per il costo in base alla carta scelta?

Grazie mille vales per il supporto che stai dando al gruppo!

Ciao
monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 20 Mar 2010, 21:27:55
Ho aggiunto questi due campi e adeguato il javascripts

Nuovi campi dropdown carta e totale
:
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Tipo di carta</label>
    <select class="cf_inputbox validate-selection" id="select_4" size="1" title=""  name="carta" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="10">Lucida (10€/mq)</option>
<option value="6">Opaca (6€/mq)</option>
<option value="8">Fine (8€/mq)</option>

    </select>
    <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Tipo di carta :: Scegli il tipo di carta</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Totale</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_5" name="totale" type="text" value="0" readonly="readonly"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

javascripts
:
function updatethis(form) {
      form.elements['area'].value = form.elements['base'].value * form.elements['altezza'].value;

      form.elements['totale'].value = form.elements['area'].value * form.elements['carta'].value;
      }

Notare l'uso della proprietà readonly nei campi calcolati che non consente di inserire modifiche manualmente.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 22 Mar 2010, 00:34:52
Grande vales...sempre molto chiaro e conciso.

Ora rendiamo un pò più difficile il tutto cosi da avere tutti gli elementi per poter realizzare la nostra form che realizza un preventivo al volo.

Nel caso in cui volessi come option value del menu dropdown il valore di una variabile come base è possibile?

Una cosa del genere:

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 195px;">Asole saldate</label>
    <select class="cf_inputbox validate-selection" id="select_8" size="1" title=""  name="asole" onChange="updatethis(this.form);">
    <option value="">Vuoi le asole saldate?</option>
      <option value="0">No</option>
<option value="base">Lato superiore</option>
<option value="base">Lato inferiore</option>
<option value="altezza">Lato destro</option>
<option value="altezza">Lato sinistro</option>
<option value="base*2">Lati superiore e inferiore</option>
<option value="altezza*2">Lati destro e sinistro</option>

    </select>
dove base e altezza sono i valori inseriti dall'utente all'inizio del form; base*2 e altezza*2 un'eventuale operazione.

E' possibile farlo direttamente in questo modo all'interno del menu a tendina oppure occorre seguire altra strada?

ciao

monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 22 Mar 2010, 15:37:22
Ciao vales,
 in attesa di una tua illuminazione al mio post precedente mi chiedo se è meglio spostare questo topic nella sezione Gestione Forms...credo sia più adatta e più facile da trovare per gli utenti che vogliono seguire il progetto e credo lo sia anche per te visto che sei un moderatore di quella sezione no?

Attendo tue news.

P.S. per tutti gli utenti che stanno seguendo questo "progettino" vi invito a non farmi domande via PM...non perchè non voglio rispondere ma perchè è bello condividere con tutti qua sul forum.

Ciao

monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 22 Mar 2010, 15:52:41
Non ho poteri in questa sezione, comunque per me va bene perchè ormai si parla di form.
Decideranno i moderatori. ;D

Riguardo alla nuova dropdown toglierei la domanda dalla option e la inserirei nella label.

Nella drop non si può eseguire il calcolo occorre implementare nuovo codice javascripts e la chiamata della funzione nella drop.

Comunque non ho chiaro cosa dovrebbe fare la dropdown oltre a selezionare le modalità delle asole. Un nuovo calcolo che incrementa il totale ?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 22 Mar 2010, 16:06:50
La Drop ASOLE dovrebbe calcolare i metri lineari (base o altezza o basex2 o altezzax2) moltiplicarli per un costo al metro (2,5) e aggiungere il tutto al totale.

Spero di essewre stato chiaro.

Come posso implementare questa cosa?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 24 Mar 2010, 17:23:49
Invio codice per form con nuove funzioni:

Form html:
:
<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Base</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="inserire un numero" id="text_0" name="base" type="text" onChange="updatethis(this.form);" value=""/>
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Base :: inserire la misura della base</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Altezza</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="Inserire un numero valido" id="text_1" name="altezza" type="text" onChange="updatethis(this.form);" value=""/>
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Altezza :: Inserire la misura dell'altezza</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Area</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_2" name="area" type="text" value="0" readonly="readonly"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Tipo di carta</label>
    <select class="cf_inputbox validate-selection" id="select_4" size="1" title=""  name="carta" onChange="updatethis(this.form);">
      <option value="0">Seleziona</option>
<option value="10">Lucida (10€/mq)</option>
<option value="6">Opaca (6€/mq)</option>
<option value="8">Fine (8€/mq)</option>

    </select>
    <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Tipo di carta :: Scegli il tipo di carta</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Vuoi le asole saldate?</label>
    <select class="cf_inputbox" id="select_6" size="1" title=""  name="asole" onChange="updatethis(this.form);">
    <option value="">Seleziona</option>
      <option value="LS">Lato superiore</option>
<option value="LI">Lato inferiore</option>
<option value="LD">Lato destro</option>
<option value="LSN">Lato sinistro</option>
<option value="LSI">Lati superiore e inferiore</option>
<option value="LDS">Lati destro e sinistro</option>

    </select>
    <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/>[/url]
                <div class="tooltipdiv">Vuoi le asole saldate? :: Scegli la posizione delle asole saldate</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Totale</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_5" name="totale" type="text" value="0" readonly="readonly"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Aggiorna calcolo" name="button_7" type="button" />
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Invia" name="button_3" type="submit" /><input type="reset" name="reset" value="Reset"/>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>


Form javascripts
:
function updatethis(form) {

      var costo = 0;

      form.elements['area'].value = form.elements['base'].value * form.elements['altezza'].value;

if ((form.elements['asole'].value=="LD") || (form.elements['asole'].value=="LSN")) costo =(form.elements['base'].value * 2.5);
     
if ((form.elements['asole'].value=="LI") || (form.elements['asole'].value=="LS")) costo=(form.elements['altezza'].value * 2.5);
   

if (form.elements['asole'].value=="LSI") costo=(form.elements['base'].value * 2 * 2.5);
     

if (form.elements['asole'].value=="LDS") costo=(form.elements['altezza'].value * 2 * 2.5);
     
if (form.elements['asole'].value=="") costo=0;
   

form.elements['totale'].value = costo + (form.elements['area'].value * form.elements['carta'].value);

      }
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 26 Mar 2010, 12:02:25
Mi viene in mente un'altra cosa che può essere utile in questo genere di forms:

visto che l'aggiunta di asole saldate è una lavorazione accessoria, come è possibile fare in modo che la SELECT "carta" cambi i prezzi in aumento?

Esempio: SELECT "carta"
- lucida 10€
- opaca  6€
- fine   8€

Ora:

- se nella SELECT "asole" non seleziono nulla significa che non voglio la lavorazione accessoria e tutto rimane invariato, viene solo calcolato il prezzo al mq

- se seleziono un tipo di asola mi viene conteggiato il costo al metro lineare delle asole in più la SELECT "carta" cambia i prezzi così (senza criterio percentuale o altro):

- lucida €23
- opaca €12
- fine €34

è possibile?

Ho pensato di ovviare creando un'altra form, ma credo sia utile all'utente conoscere il costo di un prodotto senza dover cambiare pagina (e quindi form).

ciao
monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 26 Mar 2010, 16:02:00
Credo che con gli elementi già forniti in questo post e in quest'altro

http://forum.joomla.it/index.php/topic,99125.0.html

ci siano le condizioni di implementare le nuove funzionalità richieste senza particolari difficoltà.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 27 Mar 2010, 18:41:05
Ciao vales,
 seguendo i tuoi esempi sono riuscito ad ottenere quello che chiedevo nel post precedente ;).

Unica cosa che non capisco è questa:

ho settato a style="display: none; le due drop di mio interesse solo che non appena inserisco un valore in un campo text la drop compare ma funziona tutto correttamente.

Come faccio a far comparire la drop solo quando scelgo quale drop visualizzare dal menu a tendina Rinforzo perimetrale ?

posto il codice per farmi capire meglio e come soluzione alla mia domanda utile a tutti i seguaci di questo 3D.

HTML

:
<div class="form_item">
  <div class="form_element cf_heading">
    <h1 class="cf_text">Informazioni sul formato</h1>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 440px;">Numero di copie (stesso soggetto)</label>
    <input class="cf_inputbox required validate-number" maxlength="150" size="5" title="Inserisci un valore numerico corretto" id="text_1" name="n_copie" type="text" onChange="updatethis(this.form);" value="" />
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Numero di copie (stesso soggetto) :: Inserisci il numero (in cifre) di copie dello stesso sogetto</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 440px;">Base (in cm)</label>
    <input class="cf_inputbox required validate-number" maxlength="150" size="5" title="Inserisci un valore numerico corretto" id="text_2" name="base" type="text" onChange="updatethis(this.form);" value="" />
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Base (in cm) :: Inserisci la dimensione in centimetri della BASE del tuo Banner</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 440px;">Altezza (in cm)</label>
    <input class="cf_inputbox required validate-number" maxlength="150" size="5" title="Inserisci un valore numerico corretto" id="text_3" name="altezza" type="text" onChange="updatethis(this.form);" value="" />
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Altezza (in cm) :: Inserisci la dimensione in centimetri dell' ALTEZZA del tuo Banner</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 440px;">Superficie (in mq)</label>
    <input class="cf_inputbox required validate-number" maxlength="150" size="5" title="" id="text_4" name="sup" type="text" readonly="readonly" />
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Superficie (in mq) :: Superficie calcolata in metri quadrati con arrotondamento al metro quadro SUPERIORE</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Rinforzo perimetrale</label>
    <select class="cf_inputbox" id="select_1" size="1" title=""  name="rinforzo_perim" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
      <option value="no">No</option>
<option value="si">Si</option>

    </select>
<a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Rinforzo perimetrale :: Se è selezionato aumenta il costo al mq di ogni prodotto e da la possibilità di inserire lavorazioni accessorie</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div id="variabile1" style="display: none;">
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 25px;">Tipo</label>
    <select class="cf_inputbox validate-selection" id="select_5" size="1" title=""  name="tipo_nolavorazioni" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
<option value="7.5">Banner pvc 440gr calandrato € 7,50/mq</option>
<option value="10">Banner pvc 440gr calandrato alta qualità € 10,00/mq</option>
<option value="10.8">Banner pvc 500gr spalmato endutex classe B1 ignifugo € 10,80/mq</option>
<option value="13">Banner pvc 500gr spalmato endutex classe B1 ignifugo alta qualità € 13,00/mq</option>
<option value="0">Banner pvc 510gr spalmato bifacciale € 00/mq</option>
<option value="0">Banner pvc 680gr spalmato bifacciale € 00/mq</option>
<option value="12">Banner pvc 700gr € 12,00/mq</option>
<option value="15">Banner pvc 700gr alta qualità € 15,00/mq</option>
<option value="21">Banner backlit eurosol 550gr spalmato € 21,00/mq</option>
<option value="10">Rete mesh antivento 400gr classe B1 endutex € 10,00/mq</option>

    </select>
</div>
  <div class="cfclear">&nbsp;</div>
</div>
</div>

<div id="variabile2" style="display: none;">
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 25px;">Tipo</label>
    <select class="cf_inputbox validate-selection" id="select_6" size="1" title=""  name="tipo" onChange="updatethis(this.form);">
<option value="">Clicca per scegliere</option>
<option value="9.9">Banner pvc 440gr calandrato € 9,90/mq</option>
<option value="12.5">Banner pvc 440gr calandrato alta qualità € 12,50/mq</option>
<option value="12">Banner pvc 500gr spalmato endutex classe B1 ignifugo € 12,00/mq</option>
<option value="15">Banner pvc 500gr spalmato endutex classe B1 ignifugo alta qualità € 15,00/mq</option>
<option value="23">Banner pvc 510gr spalmato bifacciale € 23,00/mq</option>
<option value="26">Banner pvc 680gr spalmato bifacciale € 26,00/mq</option>
<option value="14">Banner pvc 700gr € 14,00/mq</option>
<option value="17">Banner pvc 700gr alta qualità € 17,00/mq</option>
<option value="23">Banner backlit eurosol 550gr spalmato € 23,00/mq</option>
<option value="13">Rete mesh antivento 400gr classe B1 endutex € 13,00/mq</option>

    </select>
</div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h1 class="cf_text">Lavorazioni accessorie</h1>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 180px;">Occhiellatura</label>
    <select class="cf_inputbox validate-selection" id="select_8" size="1" title=""  name="occhiellatura" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
      <option value="1">Standard ogni 50 cm (nessu costo aggiuntivo)</option>
<option value="1.08">Occhielli ogni 30 cm (+8%)</option>

    </select>
    <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Occhiellatura :: Scegli il tipo di occhiellatura</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 180px;">Asole saldate</label>
    <select class="cf_inputbox validate-selection" id="select_9" size="1" title=""  name="asole" onChange="updatethis(this.form);">
    <option value="">Vuoi le asole saldate?</option>
      <option value="0">No</option>
<option value="l_sup">Lato superiore</option>
<option value="l_inf">Lato inferiore</option>
<option value="l_dx">Lato destro</option>
<option value="l_sx">Lato sinistro</option>
<option value="l_supinf">Lati superiore e inferiore</option>
<option value="l_dxsx">Lati destro e sinistro</option>

    </select>
    <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Asole saldate :: Seleziona le asole</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</div>


<div class="form_item">
  <div class="form_element cf_heading">
    <h1 class="cf_text">Informazioni sul file</h1>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 195px;">Nome del file</label>
    <input class="cf_inputbox required" maxlength="150" size="30" title="" id="text_10" name="nomefile" type="text" />
  <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Nome del file :: Inserisci il nome del file esatto compresa l'estensione</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 195px;">Modalità d'invio</label>
    <select class="cf_inputbox validate-selection" id="select_12" size="1" title=""  name="mod_invio">
    <option value="">Clicca per scegliere</option>
      <option value="Subito via FTP">Subito via FTP</option>
<option value="Più tardi via FTP">Più tardi via FTP</option>
<option value="Invierò a mia cura">Invierò a mia cura</option>

    </select>
    <a class="tooltiplink" onclick="return false;"><img height="16" border="0" width="16" class="tooltipimg" alt="" src="components/com_chronocontact/css/images/tooltip.png"/></a>
<div class="tooltipdiv">Modalità d'invio :: Scegli come inviare il tuo file tra le varie modalità</div>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h1 class="cf_text">Costi</h1>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 445px;">Prezzo netto</label>
    <input class="cf_inputbox" maxlength="150" size="5" title="" id="text_13" name="prezzo" type="text" readonly="readonly" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 445px;">Prezzo (iva 20% inclusa)</label>
    <input class="cf_inputbox" maxlength="150" size="5" title="" id="text_14" name="prezzo_iva" type="text" readonly="readonly" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

JAVASCRIPT

:
function updatethis(form) {

      var costo = 0;

      if ((form.elements['asole'].value=="l_sup") || (form.elements['asole'].value=="l_inf")) costo =(form.elements['base'].value * 2.5);
     
      if ((form.elements['asole'].value=="l_dx") || (form.elements['asole'].value=="l_sx")) costo=(form.elements['altezza'].value * 2.5);
   
      if (form.elements['asole'].value=="l_supinf") costo=(form.elements['base'].value * 2 * 2.5);
     
      if (form.elements['asole'].value=="l_dxsx") costo=(form.elements['altezza'].value * 2 * 2.5);
     
      if (form.elements['asole'].value=="0") costo=0;

      form.elements['sup'].value = Math.ceil((form.elements['base'].value * form.elements['altezza'].value)/10000);

var rinforzo = form.elements['select_1'].value;

if (rinforzo=="no") {document.getElementById("variabile1").style.display = 'block';
document.getElementById("variabile2").style.display = 'none';
form.elements['prezzo'].value = form.elements['n_copie'].value * form.elements['sup'].value * form.elements['tipo_nolavorazioni'].value
}
else {document.getElementById("variabile2").style.display = 'block';
document.getElementById("variabile1").style.display = 'none';
form.elements['prezzo'].value = form.elements['n_copie'].value * form.elements['sup'].value * form.elements['tipo'].value * form.elements['occhiellatura'].value + costo/100;
}
form.elements['prezzo_iva'].value = form.elements['prezzo'].value * 1.2;
}
ciao

monak83

: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 30 Mar 2010, 12:12:40
Risolto:

il problema era nell'espressione condizionale IF ELSE.
Anzichè utilizzare IF ELSE ho utilizzato 2 IF in sequenza e ora è ok!

Ciao a tutti.
monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 30 Mar 2010, 12:20:39
Ora che la parte delle forms è quasi completata (manca l'interrogazione del DB come richiesto in questo http://forum.joomla.it/index.php/topic,99463.0.html (http://forum.joomla.it/index.php/topic,99463.0.html) topic) siamo pronti per generare un qualsiasi articolo.

Ora dovremmo riuscire a integrare queste forms con un sistema e-commerce come VirtueMart in modo tale che, una volta generato un articolo (caratteristiche, prezzo), possa essere passato al carrello di VirtueMart e quindi gestito come un normale prodotto del catalogo.

Come è possibile fare ciò?

ciao
monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: t3cnoSite 30 Mar 2010, 12:30:05
Ti vedi il docie di VirtueMart e fai un po di reverse engineering; magario guardati qualche altro modulo che si integra già in VirtueMart.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: alexred 30 Mar 2010, 12:33:14
ciao monak83,
complimenti per la tenacia e complimenti al grande vales per l'aiuto che ti sta dando.
Credi sia possibile preparare un articolo da pubblicare su Joomla.it che illustri questa tecnica per realizzare le form per il preventivo?

(senza l'integrazione eventuale con virtuemart)
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: monak83 30 Mar 2010, 23:21:00
Ciao alexred,
 grazie ma i veri complimenti vanno tutti e solo a vales, è lui il guru, io ho solo fatto da tramite e da tester.

Per quanto riguarda l'articolo non ci sono problemi; appena ho terminato tutte le prove lo scrivo e poi magari ti contatto via PM cosi mi dici come devo muovermi.

A mio avviso sarebbe una grossa mancanza redigere quest'articolo senza l'integrazione con VirtueMart!

Se non riusciamo a farla è come se avessimo perso del tempo fallendo così nel nostro intento.

A che servirebbero tutte queste forms se non fosse possibile acquistare il prodotto generato?

Quindi mettiamoci in marcia verso le ultime difficoltà!

Unitevi!!!

Ciao
monak83
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: xpress2003 15 Jun 2010, 22:47:27
Salve a tutti, grazie all'aiuto di vales che mi ha postato un link verso questa discussione, ho trovato finalmente quello che cercavo e che monak83 ha perfettamente centrato.

Mi chiedevo come mai lo sviluppo di questa discussione si è un pò fermata, e mi rivolgo sopratutto a monak83 chiedendogli a che punto è il suo sviluppo.

: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: xpress2003 15 Jun 2010, 23:07:55
Volevo inoltre chiedere se potete essere più precisi sull'inizializzazione dei campi value, praticamente dovrei inserire " " in alcuni campi?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 15 Jun 2010, 23:10:12
Precisa meglio.

Se vuoi assegnare come valore uno spazio fai value=" "
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: alexred 25 Jun 2010, 19:33:27
ciao monak83,
complimenti per la tenacia e complimenti al grande vales per l'aiuto che ti sta dando.
Credi sia possibile preparare un articolo da pubblicare su Joomla.it che illustri questa tecnica per realizzare le form per il preventivo?

(senza l'integrazione eventuale con virtuemart)
ci riprovo nuovamente.
nel pieno spirito collaborativo di questo sito e di questo forum, chiedo gentilmente a monak83 se si rende disponibile a scrivere un articolo su quanto appreso per la realizzazione del preventivo online.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Mistik 03 Nov 2011, 22:39:39
Salve a tutti,
ho trovato interessante l'argomento proposta da Monak.... anche se, purtroppo, svanendo ha lasciato le cose in sospeso.


Mi sono da poco avvicinato a Chronoform e volevo caricare l'esempio per vederne i risultati.
Il codice HTML va caricato in HTML code, ma non capisco dove mettere il codice Javascript se non dargli un'estensione .js e caricarlo tramite css
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 04 Nov 2011, 07:37:24
Benvenuto nella comunità italiana di Joomla! Mistik,

Se usi chronoform v3 lo devi mettere in in Form Javascripts senza usare i tag <script> all'inizio ed alla fine del codice.

Se usi la versione v4 devi caricare in codice nell'atcion Load JS sempre senza tag.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Mistik 04 Nov 2011, 16:50:19
Grazie,
utilizzo la v4 su joomla 1.5

...aggiungo anche che per caricare lo script javascript bisogna utilizzare Easy Form Wizard
altrimenti visualizzerete una pagina bianca, mentre per il codice html è necessario impostare nel menu a discesa "wizard".
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 04 Nov 2011, 18:20:32
Usa il Form wizard ed il wizard edit sono più potenti.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Mistik 05 Nov 2011, 22:07:04
Sto provando a caricare vari esempi di in Code HTML e javascript in Events -- On Load -- Load JS
ma quando clicco su Frontend view mi appare sempre una pagina bianca
Non riesco nemmeno a visualizzare l'esempio del form a geometria variabile di Vales stesso.
Scusatemi, ma sta cosa mi innervosisce e mi scoraggia.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 06 Nov 2011, 01:14:51
Attiva gli errori in configurazione di Joomla per vedere cosa indica di preciso.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Mistik 06 Nov 2011, 10:24:44
Nessun errore.
In effetti non visualizza il form, ma il solo link a Powered By ChronoForms - ChronoEngine.com (http://www.chronoengine.com/) eppure nel sorgente della pagina è presente sia il codice js che quello html
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 06 Nov 2011, 10:28:51
Ma hai inserito in On Load l'action Show Html ?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Mistik 06 Nov 2011, 10:44:51
Finalmente !!


Eppure mi sono avvicinato a Chronoforms con la speranza di poter emulare il form di Tiscali
http://abbonati.tiscali.it/telefono-adsl/prodotti/tc/tuttoincluso_light/ (http://abbonati.tiscali.it/telefono-adsl/prodotti/tc/tuttoincluso_light/)
abbinando il form a geometria variabile con quello multipagina.
Penso sia cosa ardua per chi ha così ristrette conoscenze di Chronoforms come me.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: vales 06 Nov 2011, 12:10:56
Bene allora comincia a dare un'occhiata a questo

http://www.joomla.it/articoli-community-16-e-17-tab/5234-guida-1-creare-form-in-joomla-17-con-chronoforms-v4-rc-20.html

ed alle altre guide del forum

http://forum.joomla.it/index.php/topic,89142.0.html
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Hulio 08 Oct 2013, 18:49:38
Ciao ragazzi :D


Scusate se riprendo una vecchia discussione, ma è da un po di giorni che ci sbatto la testa e non riesco a venirne a capo


Uso joomla 2.5 e chronoform V4RC352


Vorrei realizzare un form a "geometria variabile" usando per l'appunto l'ultima versione di CF.


Se inserisco nel campo ON LOAD -> Show Html e poi inserisco il codice JS, il form viene visualizzato per intero e quindi viene meno la funzionalità "a geometria variabile"  :-\


Dove sbaglio?
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: tomtomeight 08 Oct 2013, 20:00:44
@hulio
A parte che questa discussione non c'entra nulla con la tua richiesta e che hai già aperto un topic, che fai adesso vai a ripescare tutti i vecchi topic analoghi? Dai impara ad usare con correttezza il forum e non seminare topic simili se non uguali. Grazie.
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: Hulio 09 Oct 2013, 10:51:27
Scusate se ho sbagliato a postare in questo topic  :(


Pensavo che magari qualcuno ascoltasse la mia problematica (essendo simile a quella di Mistik)


Sai darmi un consiglio per fare in modo che qualcuno possa rispondere al topic che ho aperto?


Grazie e scusa ancora  ;)
: Re:Preventivi online con joomla: sviluppiamo invieme e creiamo un gruppo!
: mrfreeman999 12 Mar 2014, 18:31:36
salve,
bellissimo topic complimenti mi è di grandissima utilità,
mi permetto di postare su questo topic di qualche anno fa, ho creato la mia preventivazione tipografica per libri digitali, ho strutturato il form in due parti, uno riguardante il calcolo dell'interno del libro e uno della copertina poi peri il costo totale ho creato una formula che addiziona il costo dell'interno con il costo della coperta, il problema è che non mi fa l'addizione per il costo totale.


questo è il codice da me creato...........dove sbaglio??


html
:
<h2>struttura del libro</h2>
[br /]
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Formato del libro</label>
   <select class="cf_inputbox validate-selection" id="select_1" size="1" title=""  name="formato" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="200"> 17x24</option>
<option value="315">21x30</option>
   </select>
  <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Tipo di carta</label>
    <select class="cf_inputbox validate-selection" id="select_2" size="1" title=""  name="carta" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="0.00001">Lucida (80g)</option>
<option value="0.00002">Opaca (160g)</option>
    </select>
  <>
  <div class="cfclear">&nbsp;<>
<>






<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Numero delle pagine</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_0" name="pagine" type="text" onChange="updatethis(this.form);" value=""/>
  <>
  <div class="cfclear">&nbsp;<>
<>




<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Colori di stampa</label>
   <select class="cf_inputbox validate-selection" id="select_3" size="1" title=""  name="colori" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="0.05">bianco e nero</option>
<option value="0.09">colori</option>
   </select>
  <>
  <div class="cfclear">&nbsp;<>
<>




<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Numero delle copie</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_1" name="copie" type="text" onChange="updatethis(this.form);" value=""/>
  <>
  <div class="cfclear">&nbsp;<>
<>




<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Costo interno</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_100" name="totaleinterno" type="text" value="0" readonly="readonly"/>
 
  <>
  <div class="cfclear">&nbsp;<>
<>






[br /][br /]
<h2>struttura dela copertina</h2>
[br /]


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Formato dela copertina</label>
   <select class="cf_inputbox validate-selection" id="select_4" size="1" title=""  name="formatocoperta" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="400">17x24</option>
<option value="620">21x30</option>
   </select>
  <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Tipo di carta</label>
    <select class="cf_inputbox validate-selection" id="select_5" size="1" title=""  name="cartacoperta" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="0.00004">Lucida (320g)</option>
<option value="0.00004">Opaca (320g)</option>
    </select>
  <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Numero delle pagine stampate</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_2" name="paginecoperta" type="text" onChange="updatethis(this.form);" value=""/>
  <>
  <div class="cfclear">&nbsp;<>
<>




<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Colori di stampa</label>
   <select class="cf_inputbox validate-selection" id="select_6" size="1" title=""  name="coloricoperta" onChange="updatethis(this.form);">
      <option value="">Seleziona</option>
<option value="0.05">bianco e nero</option>
<option value="0.09">colori</option>
   </select>
  <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Costo copertina</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_101" name="totalecoperta" type="text" value="0" readonly="readonly"/>
 
  <>
  <div class="cfclear">&nbsp;<>
<>




<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Costo totale</label>
    <input class="cf_inputbox" maxlength="10" size="10" title="" id="text_102" name="totale" type="text" value="0" readonly="readonly"/>
 
  <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_button">
    <input value="Invia" name="button_3" type="submit" /><input type="reset" name="reset" value="Reset"/>
  <>
  <div class="cfclear">&nbsp;<>
<>
java
:
function updatethis(form) {
         
      form.elements['totaleinterno'].value = form.elements['formato'].value
      * form.elements['carta'].value * form.elements['pagine'].value
      * form.elements['colori'].value
      * form.elements['copie'].value;
     
       form.elements['totalecoperta'].value = form.elements['formatocoperta'].value
      * form.elements['cartacoperta'].value * form.elements['paginecoperta'].value
      * form.elements['coloricoperta'].value
      * form.elements['copie'].value;
     
      form.elements['totale'].value = form.elements['totaleinterno'].value
      + form.elements['totalecoperta'].value;
     
      }