Ciao ho fatto sta roba qua,vedi un po se è ciò che cervavi. Se hai dubbi o problemi chiedi pure,ciao.

codice:
<html>
<head>
<script type="text/javascript">

var esito={base:false,altezza:false,prezzo:false}

function def_focus(param){
param.style.backgroundColor="white";
param.form.calcola.disabled=false;
}

function eseguiCalcolo(form){
var check=false;
  for (var i in esito) {
	controlla(form.elements[i]);
        if (esito[i]==false){
           alert("Operazione non valida!\nPerfavore controllare i campi.");
           check=true;
	   break;  	
	   }
	}

if (check) {
form.elements[i].style.backgroundColor="red";
form.calcola.disabled=true;
document.getElementById("totale").innerHTML='0.00';
}

else calcola();


function controlla(field) { 
var value=(field.value.indexOf(','))?field.value.replace(',','.'):field.value;
if (value=="" || isNaN(parseFloat(value)) || parseFloat(value)==0) esito[field.name]=false;
else esito[field.name]=value;
}	

function calcola(){
var base=parseFloat(esito.base);
var altezza=parseFloat(esito.altezza);
var prezzo=parseFloat(esito.prezzo);
var result=((base+altezza)*2)*prezzo;
document.getElementById("totale").innerHTML=Math.round(result*100)/100;
}

}

</script>

</head>

<body>
<form name="mioform" onsubmit="return false">
<fieldset style="float:left">
<table>
<tr>
<td><span>Inserisci larghezza</span></td>
<td><input type="text" name="base" onfocus="def_focus(this)"></td>
</tr>
<tr>
<td><span>Inserisci lunghezza</span></td>
<td><input type="text" name="altezza" onfocus="def_focus(this)"></td>
</tr>
<tr>
<td><span>Inserisci prezzo</span></td>
<td><input type="text" name="prezzo" onfocus="def_focus(this)"></td>
</tr>
<tr>
<td style="padding-top:1em"><input type="button" name="calcola" value="Calcola" disabled="false" onclick="eseguiCalcolo(this.form)"></td>
<td style="padding-top:1em;text-align:right;">Tot €<span id="totale">0.00</span></td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>