Por si a alguien le viene bien, copio el código que he usado. En la página del iframe habría que añadir la misma función que en la página padre, pero añadiendo el "parent." donde corresponda. Además, tiene una linea más que lleva el foco a un enlace que hay en la página padre:
Código Javascript
:
Ver original<script language="JavaScript">
function muestra_oculta(id){
if (parent.document.getElementById){ //se obtiene el id
parent.document.getElementById("myAnchor").focus();
var el = parent.document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
</script>
Se añade la llamada a la función donde se quiera ejecutar, en mi caso, va dentro de la función que comprueba que los valores del formulario de la página contenida en el iframe sean correctos.
Código Javascript
:
Ver originalmuestra_oculta('contenido');
return true;}
Y por último se coloca un enlace en la página padre al que volverá el foco al ocultar la capa con el iframe:
He probado usando un ancla en lugar de un enlace y no funcionaba...