buona sera, ho un problema con un codice javascript, sto usando un componente che permette di integrare i form di Chronoform nelle descrizioni dei prodotti di Virtuemart perché ho bisogno di personalizzare il prodotto e far variare il prezzo sia in base alla quantità, sia in base all'opzione scelta. il codice HTML del form è il seguente
codice:
<div class="form_item"> <div class="form_element cf_textbox"> <label class="cf_label" style="width: 100px;">Quatità</label> <input class="cf_inputbox required validate-number" maxlength="100" size="30" title="" id="form_qty" name="quantity" type="text" onchange="processform()"/> </div> <div class="cfclear"></div> </div> <div class="form_item"> <div class="form_element cf_dropdown"> <label class="cf_label" style="width: 100px;">Colori Stampa</label> <select class="cf_inputbox validate-selection" id="colore" size="4" title="" name="colore" onChange="updateprice(this.form);"> <option value="">Scegli</option> <option value="Nessuno">Nessuno</option> <option value="Un Colore">Un Colore</option> <option value="Due Colori">Due Colori</option> </select> </div> <div class="cfclear"></div> </div> <div class="form_item" id="price"> Anteprima Prezzo per singola unità </div> <div class="price" id="price_tax"> </div> <input value="" id="price_adjust" name="price_adjust" type="hidden" /> <input value="" id="formkey" name="formkey" type="hidden" /> <div class="form_item"> <div class="form_element cf_button"> <input value="Conferma" name="button_4" type="submit" /> </div> <div class="cfclear"></div> </div>
il codice java (con l'integrazione del php) che però non funziona è il seguente
codice:
var nessuncolore=new Array('','0,26','0,26','0,23','0,20'); var uncolore=new Array('','0,36','0,35','0,30','0,26'); var duecolori=new Array('','0,40','0,39','0,33','0,28'); var pulldownscelto=new Array(); pulldownscelto['Nessuno'] = 10.1; pulldownscelto['Un Colore'] = 20.2; pulldownscelto['Due Colori'] = 30.3; var taxrate= 1.21; function updateprice(form) { var qty = $('form_qty').value; var q; var price = 0; var scelta; //var pulldownscelto; var colore = $('colore').value; scelta = pulldownscelto[colore]; if (qty<=500) { q = 1; } else if (qty>500 && qty<=1000) { q = 2; } else if (qty>1000 && qty<=3000) { q = 3; } else if (qty>3000) { q = 4; } /* price=nessuncolore[q]; */ if (scelta==10.1) { price = nessuncolore[q]; } else if (scelta==20.2) { price = uncolore[q]; } else if(scelta==30.3) { price = duecolori[q]; } var tax = price.toFixed(2) * taxrate; if (price>0) { //$('scelta').innerHTML = 'Price: € ' + scelta.toFixed(2) + ' excl. TAX '; $('price').innerHTML = 'Price: € ' + price.toFixed(2) + ' excl. TAX <small>(' + (tax.toFixed(2)) + 'incl. TAX)<small>'; $('price_adjust').value = 'price|=' + price.toFixed(2); } }
un codice java funzionante è questo:
codice:
function processform() { var quantitybox = $('quantity'+<?php echo JRequest::getInt('product_id',0); ?>); var qty = $('form_qty').value; quantitybox.value = qty ; } var pulldownscelto=new Array(); pulldownscelto['Nessuno'] = 1.25; pulldownscelto['Un Colore'] = 2.15; pulldownscelto['Due Colori'] = 3.72; var taxrate= 1.21; function updateprice(form) { var price=0; var colore = $('colore').value; price = pulldownscelto[colore]; var tax = price.toFixed(2) * taxrate; if (price>0) { $('price').innerHTML = 'Price: € ' + price.toFixed(2) + ' excl. TAX <small>(' + (tax.toFixed(2)) + 'incl. TAX)<small>'; $('price_adjust').value = 'price|=' + price.toFixed(2); } }
se qualcuno può aiutarmi mi farebbe un grosso favore, sono 5giorni che cerco una soluzione
se avete bisogno di informazioni aggiuntive chiedete pure,
buona giornata