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
<div class="form_item">
<div class="form_element cf_heading">
<h1 class="cf_text">Informazioni sul formato</h1>
</div>
<div class="cfclear"> </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"> </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"> </div>
</div>
<div class="form_item">
<div class="form_element cf_heading">
<h1 class="cf_text">Costi</h1>
</div>
<div class="cfclear"> </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"> </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"> </div>
</div>
JAVASCRIPT DA CHRONOFORM
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