Back to top

Autore Topic: ChronoForm: calcolare il prezzo in base a 2 variabili, come?  (Letto 10888 volte)

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Ciao a tutti,
vorrei realizzare un form di questo tipo:
- quantità
- tipo (menu a tendina)
->poster 6x3
->poster 4x2
->poster 70x100
->etc

Il prezzo varia in base al tipo di poster e alla quantià scelta cosi:

poster 6x3: -> da 1 a 10 € 25 cad.
-> da 11 a 30 € 23,50 cad.
-> oltre 31 € 20 cad.
poster 4x2: -> da 1 a 5 € 15
-> da 6 a 20 € 13 cad.
-> oltre 21 € 12 cad.
poster 70x100: -> da 1 a 20 € 18 cad.
-> da 21 a 60 € 15,50 cad.
-> oltre 61 € 13,50 cad.
etc

NB: Nel caso in cui l'untente scegliesse personalizzata dovrebbero comparire altri 2 campi tipo altezza e larghezza nei quali inserire le misure e in automatico calcolare l'area e moltiplicarla per un costo al metroquadro (€ 25,00)

Ho pensato a una cosa del genere e posto il codice:

HTML da CHRONOFORM
Codice: [Seleziona]
<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: 340px;">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="" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 340px;">Tipo</label>
    <select class="cf_inputbox validate-selection" id="select_2" size="1" title="Effettua una scelta!"  name="tipo" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
      <option value="1">Poster 6x3</option>
<option value="2">Poster 4x2</option>
<option value="3">Poster 400x300</option>
<option value="4">Poster 140x200</option>
<option value="5">Poster 100x140</option>
<option value="6">Poster 70x100</option>
<option value="7">Misure personalizzate</option>

    </select>
   
  </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 DA CHRONOFORM
Codice: [Seleziona]
function updatethis(form) {

var costo;
 
    switch (form.elements['tipo'].value) {
   
case 1:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;

case 2:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;

case 3:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;

case 4:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;

case 5:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;

case 6:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;

case 7:
    if (n_copie<10) {costo=25;}
     else if (11<n_copie<30) {costo=23.5;}
      else if (31<n_copie<499) {costo=20;}
    else {costo=18.5;}
    break;
}
alert (costo);
form.elements['prezzo'].value = costo * form.elements['n_copie'].value

form.elements['prezzo_iva'].value = form.elements['prezzo'].value * 1.2;

}
NB: i prezzi sono tutti uguali nei vari casi, mi serve solo per testare.

Ho provato anche a inserire un alert per visualizzare la variabile costo ma mi restituisce UNDEFINED.

Dove sbaglio?

grazie mille

monak83
Realizziamo Siti Web insieme!!!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #1 il: 24 Mar 2010, 21:04:48 »
C'erano vari errori:

non erano definite nel modo giusto le variabili in gioco nell' if e nello switch.

I confronti dei valori dello switch sono su stringhe e non su numeri.

Il controllo del if non era realizzato nel modo corretto.

Form html
Codice: [Seleziona]
<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: 340px;">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="" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 340px;">Tipo</label>
    <select class="cf_inputbox validate-selection" id="select_2" size="1" title="Effettua una scelta!"  name="tipo" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
      <option value="1">Poster 6x3</option>
<option value="2">Poster 4x2</option>
<option value="3">Poster 400x300</option>
<option value="4">Poster 140x200</option>
<option value="5">Poster 100x140</option>
<option value="6">Poster 70x100</option>
<option value="7">Misure personalizzate</option>

    </select>
   
  </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>

<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>

Form javascript
Codice: [Seleziona]
function updatethis(form) {
   
   var costo=0;
   var tipo=form.elements['tipo'].value;
   var n_copie=form.elements['n_copie'].value;

    switch (tipo) {
   
   case "1":
    if (n_copie<11) {costo=25;}
    else if ((10<n_copie) &&(n_copie<=30)) {costo=23.5;}
    else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
  case "2":
    if (n_copie<6) {costo=25;}
     else if ((5<n_copie) &&(n_copie<21)) {costo=15;}
      else if ((20<n_copie) &&(n_copie<=500)) {costo=13;}
    else {costo=12;}
    break;
   
   case "3":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "4":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "5":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "6":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "7":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
}

form.elements['prezzo'].value = costo * form.elements['n_copie'].value;

form.elements['prezzo_iva'].value = form.elements['prezzo'].value * 1.2;

}
« Ultima modifica: 25 Mar 2010, 19:24:56 da vales »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #2 il: 25 Mar 2010, 08:10:01 »
Grazie mille vales per le tue celeri risposte sempre esaustive!
Sto seguendo la sezione e ho capito che sai il fatto tuo riguardo le forms: hai una risposta a qualsiasi domanda! Sei forte!!! ;)

Nel caso in cui dalla dropdown si scegliesse Misure personalizzate (case 7) come è possibile far comparire due caselle di testo dove inserire BASE e ALTEZZA e quindi calcolare il costo in base ai MQ (esempio €2.50/mq)?

Entra in gioco la geometria variabile?

P.S: torno a ripetere che dovete postare le vostre domande qui e non inviarmi PM acnhe xche io non so rispondervi e non faccio altro che ri-postare le domande che mi fate qui.

ciao monak83
Realizziamo Siti Web insieme!!!

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #3 il: 25 Mar 2010, 15:33:41 »
Ciao vales
 in merito al codice che hai postato prima...non funziona...non riesco a trovare l'errore.

Nella casella prezzo e prezzo con iva non succede nulla, rimane vuota!

Non capisco il perchè!!!
Realizziamo Siti Web insieme!!!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #4 il: 25 Mar 2010, 18:01:17 »
Il demo è qui e funziona.

Ora provo a fare nuovamente copia ed incolla dei codici nel post precedente.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #5 il: 25 Mar 2010, 18:49:11 »
Ciao vales,
 hai postato il codice sbagliato...qui stavamo parlando del form con SWITCH CASE...ha postato il demo di un'altra form relativa ad un altro post.
Fammi sapere

Grazie mille

monak83
Realizziamo Siti Web insieme!!!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #6 il: 25 Mar 2010, 19:26:50 »
Troppi form in linea, mi sono perso.  ;D

Ho ripristinato il codice ed ho controllato che funziona in installazione locale.

Controlla bene il copie e incolla.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #7 il: 25 Mar 2010, 21:03:18 »
Ti capisco!!!
Stai rispondendo a tutti...sei MITICO!!!

Ora funziona, probabilmente c'è stato un problema di copia&incolla.

Per terminare con questo topic mi rimane l'ultima domanda che ho fatto 2 post prima:

Citazione
Nel caso in cui dalla dropdown si scegliesse Misure personalizzate (case 7) come è possibile far comparire due caselle di testo dove inserire BASE e ALTEZZA  e quindi calcolare il costo in base ai MQ (esempio €2.50/mq)?

Entra in gioco la geometria variabile?

Grazie mille per tutto il lavoro che fai!!!

P.S. una voltaterninate le forms penso di redigere una miniguida, da condividere con tutti, dove raccolgo tutte le mie domande e le risposte del Prof. vales...che ne dite?

ciao
monak83
Realizziamo Siti Web insieme!!!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #8 il: 25 Mar 2010, 23:29:33 »
Per risolvere quest'ultimo problema, far apparire i due campi base ed altezza in funzione della scelta della dropdown (la 7) si usa ancora una volta il javascripts, che questa volta fra le altre cose accende o spenge la visualizzazione dei due campi in discussione.

Per fare questo ho inserito le istruzioni html che definiscono i due campi base ed altezza in un tag <div> con l'attributo "display: none;" inserito in un css in line.

In condizioni normali (dropdown diversa da 7) i due campi non vengono visualizzati e i loro valore è posto a 0.

Quando è selezionata la scelta 7 il javascript pone l'attributo display a block ed i due campi sono visualizzati.

Il javascripts provvede poi nelle righe finali a fare i calcoli che tengono conto delle varie situazioni selezionate.

Al di la dello specifico problema, quello che mi sembra importante è il metodo, che credo può rendere un form veramente personalizzabile in numerose parti e suscettibile di una "geometria variabile estesa"

Questi sono i codici aggiornati

Form html
Codice: [Seleziona]
<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: 340px;">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="" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 340px;">Tipo</label>
    <select class="cf_inputbox validate-selection" id="select_2" size="1" title="Effettua una scelta!"  name="tipo" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
      <option value="1">Poster 6x3</option>
<option value="2">Poster 4x2</option>
<option value="3">Poster 400x300</option>
<option value="4">Poster 140x200</option>
<option value="5">Poster 100x140</option>
<option value="6">Poster 70x100</option>
<option value="7">Misure personalizzate</option>

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

<div id="variabile" style="display: none;">

<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);"/>
 
  </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);"/>

  </div>
  <div class="cfclear">&nbsp;</div>
</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>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Aggiorna calcolo" name="button_7" type="button" onClick="updatethis(this.form);" />
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

Form javascripts
Codice: [Seleziona]
function updatethis(form) {
   
   var costo=0;
   var tipo=form.elements['tipo'].value;
   var n_copie=form.elements['n_copie'].value;

    switch (tipo) {
   
   case "1":
    if (n_copie<11) {costo=25;}
    else if ((10<n_copie) &&(n_copie<=30)) {costo=23.5;}
    else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
  case "2":
    if (n_copie<6) {costo=25;}
     else if ((5<n_copie) &&(n_copie<21)) {costo=15;}
      else if ((20<n_copie) &&(n_copie<=500)) {costo=13;}
    else {costo=12;}
    break;
   
   case "3":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "4":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "5":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "6":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
   
   case "7":
    if (n_copie<10) {costo=25;}
     else if ((11<n_copie) &&(n_copie<=30)) {costo=23.5;}
      else if ((31<n_copie) &&(n_copie<=500)) {costo=20;}
    else {costo=18.5;}
    break;
}

if (tipo=="7") {
            document.getElementById("variabile").style.display = 'block';
            } else {
            document.getElementById("variabile").style.display = 'none';
            form.elements['base'].value=0;
            form.elements['altezza'].value=0;
            }

form.elements['prezzo'].value = (costo  + form.elements['base'].value * form.elements['altezza'].value * 2.5) * form.elements['n_copie'].value;

form.elements['prezzo_iva'].value = form.elements['prezzo'].value * 1.2;

}
« Ultima modifica: 25 Mar 2010, 23:31:40 da vales »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #9 il: 26 Mar 2010, 11:39:24 »
Ottimo vales!!! :)

Ultima cosa che mi è stata chiesta via PM ( scrivete sul forum e non via PM >:( ) e che credo possa essere utile:

nel caso un prodotto avesse delle TIRATURE STANDARD cioè con delle quantità prestabilite?

Esempio: ai 7 casi ne aggiungiamo un ottavo che è TIRATURA STABILITA per il quale non si può scegliere la quantità liberamente ma dovrebbe esserci una select che fa scegliere tra:

- 100 copie  € 50
- 500 copie  € 75
- 1000 copie € 160

Quale può essere la soluzione?

Grazie ancora al Prof. vales  ;D per la sua disponibilità e competenza!!! ;)

Ciao monak83
Realizziamo Siti Web insieme!!!

Offline monak83

  • Esploratore
  • **
  • Post: 190
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #10 il: 29 Mar 2010, 10:55:49 »
Controllando le fonti e le risposte di vales anche questa domanda può avere risposta.
Chiedo scusa per aver intasato il forum inutilmente!

Ciao monak83
Realizziamo Siti Web insieme!!!

Offline marcoboni

  • Esploratore
  • **
  • Post: 112
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #11 il: 06 Lug 2012, 16:06:24 »
 :) Ciao a tutti io vorrei controllare che un campo non abbia meno di 14 caratteri ma non di più di 17.....se trovo i rete uno script che mi fa questo contollo .....in cronoform dove lo metto? GRAZIE

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #12 il: 22 Lug 2012, 13:58:31 »
dipende dal tipo di script se PHP o Javascript e poi dipende dalla versione di chronoforms
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline marcoboni

  • Esploratore
  • **
  • Post: 112
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #13 il: 23 Lug 2012, 10:31:25 »
 :) Già in effetti...la versione è la 4.0 RC3.4.1 su joomla 2.5.
ho inserito questo codice
<?php
if (strlen($_POST['ntelaio']) < >17) {
echo 'il Numero di telaio deve essere di 17 caratteri.';
}
?>
 che in effetti quando i caratteri sono  diversi da 17 stampa l'avviso, ma io vorrei impedire che la mail parta e costringere l'utente a ricompilare il campo in modo corretto. Come sempre  :) GRAZIE

Offline rikez09

  • Nuovo arrivato
  • *
  • Post: 1
    • Mostra profilo
Re:ChronoForm: calcolare il prezzo in base a 2 variabili, come?
« Risposta #14 il: 18 Feb 2013, 15:05:56 »
salve a tutti sono nuovo del forum


io avrei un problema con la geometria variabile di questo futuro calcolatore di listini prezzi


vorrei che alla scelta di che tipo di movimento>motore


uscisse altri 2 campi alimentatore e telecomando


dopo svariati tentativi non ho concluso nulla


ringrazio anticipatamente per qualsiasi aiuto


questi sono i codici


form html

<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Grandezza delle lamelle</label>
    <select class="cf_inputbox validate-selection" id="select_2" size="1" title="Effettua una scelta!"  name="lamelle" onChange="updatethis(this.form);">
    <option value="">Clicca per scegliere</option>
      <option value="89 mm">89 mm</option>
<option value="127 mm">127 mm</option>


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


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


<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Altezza totale</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_0" name="altezza" type="text" />
 
  <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Tipo di movimento</label>
    <select class="cf_inputbox" id="select_8" size="1" title=""  name="movimento">
    <option value="">Choose Option</option>
      <option value="Corda e catenella">Corda e catenella</option>
<option value="Motore">Motore</option>


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


<div id="variabile" style="display: none;">


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Alimentatore 24ccv (corrente continua)</label>
    <select class="cf_inputbox" id="select_11" size="1" title=""  name="alimentatore">
    <option value="">Choose Option</option>
      <option value="si">si</option>
<option value="no">no</option>


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


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Telecomando</label>
    <select class="cf_inputbox" id="select_10" size="1" title=""  name="telecomando">
    <option value="">Choose Option</option>
      <option value="no">no</option>
<option value="1 canale">1 canale</option>
<option value="2 canali">2 canali</option>
<option value="6 canali">6 canali</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 raccolta</label>
    <select class="cf_inputbox" id="select_9" size="1" title=""  name="select_3">
    <option value="">Choose Option</option>
      <option value="raccolta destra">raccolta destra</option>
<option value="raccolta sinistra">raccolta sinistra</option>
<option value="altro">altro</option>


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


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Gruppo prezzo </label>
    <select class="cf_inputbox" id="select_7" size="1" title=""  name="select_4">
    <option value="">Choose Option</option>
      <option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>


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


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Pesi</label>
    <select class="cf_inputbox" id="select_13" size="1" title=""  name="select_5">
    <option value="">Choose Option</option>
      <option value="con catenella">con catenella</option>
<option value="senza catenella">senza catenella</option>


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


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Mensole per attacco</label>
    <select class="cf_inputbox" id="select_16" size="1" title=""  name="select_6">
    <option value="">Choose Option</option>
      <option value="nessuna">nessuna</option>
<option value="mensola da 7 cm">mensola da 7 cm</option>
<option value="mensola da 10 cm">mensola da 10 cm</option>
<option value="mensola da 13 cm">mensola da 13 cm</option>


</select>


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


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


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


<div class="form_item">
  <div class="form_element cf_button">
    <input value="Submit" name="button_3" type="invia ordine" />
  <>
  <div class="cfclear">&nbsp;<>
<>


form javascript

function updatethis(form) {
   
   var movimento=form.elements['movimento'].value;
 


    switch (movimento) {
   
   case "1":
   
    break;
   
  case "2":
   
    break;
   
}


if (movimento=="2") {
            document.getElementById("variabile").style.display = 'block';
            } else {
            document.getElementById("variabile").style.display = 'none';
            form.elements['altezza'].value=0;
            form.elements['telecomando'].value=0;
            }




}

 



Web Design Bolzano Kreatif