En realidad, el hecho de que hagas una validación con PHP no tiene que interferir en la validación javascript, ya que la de PHP se hace después de enviar el formulario, y la de javascript debería impedirte enviarlo en caso de que no la pase.
Para saber qué está fallando habría que ver esa función javascript, y saber qué devuelve el return. Para hacerlo te recomiendo que pongas un "alert(document.MM_returnValue);" justo antes del return en el "onClick" y nos cuentes qué mensaje se muestra.
En cualquier caso te repito que tu problema es de javascript, no de PHP, por lo que creo que debería ser movido a ese subforo.
Un saludo