Primero onSubmit solo se ejecuta cuando se hace el submid (mandar enviar) del form, luego si el boton no es de tipo submid, no manda el formulario por lo que no se produce el evento onSubmid.
El problema de validar desde onClick de un boton de tipo submid es que no hace primero la validación y en funcion del resultado manda o no el formulario, luego tendrias que hacer la validacion antes de el submid. Rediseñando la funcion de validacion la podrias ejecutarla desde onBlur de los imputs, deberias tener el boton tipo submid escondido hasta que la validación sea correcta, en ese momento ya podrias provocar el evento onSubmid por que la validacion ya estaria hecha...
Otra alternativa dejar el boton como tipo button i desde el onClick ejecutar toda las funciones es decir:
Código:
function ValidaMandaiPop(form){
if (validaropt(form)){
form.submid();
popUpsave2('./contenido/anuncio/grabaranun1.php', 'ventana', '300','300','0');
}else{
alert ("No se puede mandar el formulario porque no cumple lo esperado");
}
Debes asegurarte que validaropt retorne true o false, a demas de hacer lo que tenga que hacer....
Quim