ciao Andrea, in effetti, grazie al tuo consiglio, la modifica funziona, quindi il form per la ricerca ed i vari form per il calcolo dei prezzi vanno bene...
solo che....
ho una tabella con otto righe, ed in ognuna della righe un form che calcola il totale;
la funzione dello script funziona correttamente solo per il primi sette form, nell'ottavo non va. Credo di avere modificato correttamente lo script così

codice:
<script type="text/javascript">  function calcolatotale() {  
var a = document.forms[1].quantita.options[document.forms[1].quantita.selectedIndex].text; var b = document.forms[1].costo.value; 
var c = a * b; document.forms[1].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[2].quantita.options[document.forms[2].quantita.selectedIndex].text; var b = document.forms[2].costo.value; 
var c = a * b; document.forms[2].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[3].quantita.options[document.forms[3].quantita.selectedIndex].text; var b = document.forms[3].costo.value; 
var c = a * b; document.forms[3].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[4].quantita.options[document.forms[4].quantita.selectedIndex].text; var b = document.forms[4].costo.value; 
var c = a * b; document.forms[4].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[5].quantita.options[document.forms[5].quantita.selectedIndex].text; var b = document.forms[5].costo.value; 
var c = a * b; document.forms[5].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[6].quantita.options[document.forms[6].quantita.selectedIndex].text; var b = document.forms[6].costo.value; 
var c = a * b; document.forms[6].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[7].quantita.options[document.forms[7].quantita.selectedIndex].text; var b = document.forms[7].costo.value; 
var c = a * b; document.forms[7].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[8].quantita.options[document.forms[8].quantita.selectedIndex].text; var b = document.forms[8].costo.value; 
var c = a * b; document.forms[8].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

var a = document.forms[9].quantita.options[document.forms[9].quantita.selectedIndex].text; var b = document.forms[9].costo.value; 
var c = a * b; document.forms[9].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    

}  

/* function cancella() {  
document.forms[0].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',','); document.forms[0].numero.selectedIndex=0;  } 
*/ 
</script>
cosa ne pensi? a parte la lunghezza dello script che credo sia 'sistemabile' con un pò d'aiuto, perche l'ultimo form con la funzione calcolatotale non va?