De lo visto no muestras el código javascript donde surge el problema. No veo por ningún parte de ese código donde intentas multiplicar precio por cantidad. Solo tienes esta función de multiplicación:
Código:
function multiplica(valor) {
total*= valor;
document.f1.total.value=Math.round(total * 100) / 100;
}
El cual multiplica el valor dado por la llamada con el variable total y luego lo asigna a un elemento luego de redondearla. Que no es lo que quieres hacer a menos que total siempre es alterado a la cantidad y valor es el precio pero lo veo sujeto a muchos errores ya que no se ve por donde total recoge su valor entre otras cosas.