Make the validate function returns false if validation fails else true. Try this:
page1.html
<!DOCTYPE html>
<html>
<head>
<script>
function validate() {
var status = false;
if(document.getElementById('postTW').checked){
status = true;
} else {
alert("You forgot to check!");
}
return status;
}
</script>
</head>
<body>
<form id="postForm" action="post.php" method="post" onsubmit="return validate();">
<input type="checkbox" name="postTW" id="postTW" value="somevalue">Check to Submit
<input type="submit" value="Submit">
</form>
</body>
</html>
post.php
<?php
echo "this is post.php";
?>