questo è il tag form:

...
<form name="form" method="post" action="" onsubmit="return formvalidation(this)">
<input name="rules" type="checkbox" id="rules" value="1">
...

nella head ho questa funzione di controllo:

...
Codice PHP:
function formvalidation(thisform) {
with (thisform) {
if (
emptyvalidationchecked(rules,"Bisogna accettare il regolamento per proseguire!")==false) {rules.focus(); return false;};
}

...

mentre nel file script.js ho questa funzione che effettua il controllo vero e proprio:

....
Codice PHP:
function emptyvalidationchecked(enteredalertbox) {
    
with (entered) {
        if (
value=="") {
            if (
alertbox!="") {alert(alertbox);
        } 
            return 
false;
        }
        else {
            return 
true;
        }
    }

....

lo script lo riadattato, in quanto questo effettuava un controllo sulle caselle di testo e non sulle checkbox, quindi sicuramente c'è qualche cosa sbagliato!