Allora suppongo che una select abbia questo tag:
<select name="A[0]"> (con la A, B, C maiuscola)
e NON che ci siano diverse select con:
<select name="A">
Perche` i numeri dentro le quadre iniziano da 1? non sarebbe piu' logico (anche dal punto di vista del PHP) che iniziassero da 0? Io suppongo che vadano da 0 a n-1
La funzione verra` chiamata dal tag form cosi`:
<form name="myform" onsubmit="return verfica(this);">
codice:
<script type="text/javascript">
var num = $n; // il valore di n trasmesso dal PHP
var sel = new Array();
function verifica(ff) {
for(var i=0; i<num; i++) {
sel[0] = ff.elements['A['+i+']'];
sel[1] = ff.elements['B['+i+']'];
sel[2] = ff.elements['C['+i+']'];
for(var j=0; j<3; j++) {
if(sel[j].selectedIndex == 0) {
alert("campo select "+sel[j].name+" non compilato");
sel[j].focus();
return false;
}
}
}
return true;
}
La funzione si ferma ad ogni errore che trova, e lascia il focus sulla select non compilata. Si potrebbe anche fare la verifica di tutte, e mandare un messaggio unico, ma cosi` e` leggermente piu` semplice.