richiamo la funzione con l'Onsubmit:

<form method="post" name="comp" onSubmit="controlla(this)">

questa è la funzione:

vai=true;
function controlla() {
for(i=0;i<max;i++){
if((price[i]==0)||(isNaN(price[i])))vai=false
};
if(!vai) {
alert("Compilare tutti i campi");
return false;
}
//vai=true;
}

però la form parte lo stesso... dove sbaglio?