e un pezzo e fatto....mi sai spiegare perchè il focus mi punta sempre sul 2 mentre l'alert mi vicualizza sempre 1?....senza contare che se contatore=1 non vede l'array e mi da errore....ma quello lo risolvo con un IF..
Ti posto il nuovo codice....

var contatore=document.dettaglio.quantita.value;
for (i=1; i<=contatore; i++)
{
var serial_number = document.dettaglio.elements["serial_number_[]"][i].value;
if ((serial_number == "") || (serial_number == "undefined") || (serial_number.match(/^\s+$/)))
{
alert("Il campo SERIAL NUMBER ARTICOLO "+[i]+" è obbligatorio.");
document.dettaglio.elements["serial_number_[]"][i].focus();
return false;
}
}