codice:
function subtotale(i){
   for(x=8; x<=17; x++)
      document.form1.art18_+(i)+.value += parseFloat("0" + document.form1.art+(x)+_+(i)+.value);
   return (document.form1.art18_+(i)+.value);
}
il concetto è questo, soltanto che non so se la sintassi +(i)+ / +(x)+ sia corretta. Credo di no.