Un poco confusa tu explicación, no sé que es Mailchimp, y efectivamente el evento "oncheck se javascript no existe".
Perfectamente se puede validar con javascript si el elemento está chequeado o no, pero para hacer una validación seria, hay que hacerla del lado del servidor, en el siguiente ejemplo se combinna ambas.
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>titulo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
/* script */
function validar(){
var elcbox = document.getElementById('terminos');
if(elcbox.checked == false){
alert('debe aceptar los términos');
return false;
}
}
//]]>
</script>
</head>
<body>
<div>
<?php
if(!isset($_POST['procesar'])){ ?>
<form action="cboxjs.php" method="post" onsubmit="return validar();">
<p>
<input type="checkbox" name="terminos" id="terminos" value="ok" /><br />
<input type="submit" value="procesar" name="procesar"/>
</p>
</form>
<?php
}else{
if(isset($_POST['terminos'])){ $terminos = $_POST['terminos'];
if($terminos == 'ok'){
echo "<p>ejecuto otra acción - $terminos</p>";
}
}else{
echo "<p>Debe aceptar los términos y condiciones</p>\n</div>\n</body>\n</html>";
}
}
?>
</div>
</body>
</html>
Saludos