Hai ragione. Fa l'unione delle stringhe, non la somma algebrica.

Forse e` meglio fare una funzione (da inserire in uno script della head:
codice:
function calcolatot(cc) {
  var ff = cc.form;
  var imp = parseFloat(cc.value);
  var iva = parseFlaot(ff.iva.value);
  vat tot = imp + imp * iva / 100;
  ff.totale.value = Math.round(tot*100)/100;
Da usare cosi`:
<input type="text" name="imponibile" onchange="calcolatot(this);">
<input type="text" name="iva" value="20">
<input type="text" name="totale" readonly="true">