Provate a mantenere separati i livelli logici di un documento: da una parte il markup, dall'altra lo script. Ad esempio:
codice:
XHTML
<form id="licenza" action="/script/licenza.php">
<fieldset><legend>Contratto di licenza</legend>
Testo della licenza.
</p>
<input id="accetto" type="checkbox" />
<label for="accetto">Accetto i termini della licenza.</label>
</p>
<input type="submit" value="continua" />
</p>
</fieldset>
</form>
Javascript
window.onload = function()
{
var modulo = document.getElementById('licenza')
var checkbox = document.getElementById('accetto')
modulo.onsubmit = function()
{
if ( checkbox.checked != true )
{
return false
}
}
}
Sarebbe tuttavia ideale prevedere un controllo direttamente lato server, nello script a cui il modulo fa riferimento una volta inviato, specialmente se sono in gioco dati importanti. Questo perchè, in caso di javascript disabilitato o non presente sulla macchina dell'utente, il controllo non avverrebbe affatto.