Hola:
No entiendo porqué no usas un botón submit... o mejor aún, hacer el submit al cambiar el valor del input file...
Otra cosa que veo es que creas y eliminas elementos que sencillamente pueden mostrarse/ocultarse
Un artículo que tal vez te ayude:
Revisar las imágenes antes de subirlas (parece que tu idea es subir imágenes...) y en el mismo artículo hay un formulario de ejemplo que es un fichero html... si lo cambias por php puedes ver el ejemplo con un gif animado mientras se carga la imagen...
Como respuesta, el iframe no tiene nada como para que funcione un script con document.getElementById; la ventana padre se reconoce como parent... y debe ser contenido html... por ejemplo:
<html><body onload="parent.recibir()" ></body></html>
En resumen, el planteamiento es: cuando subes el fichero (ya sea con un botón o con el evento change) muestras algo que estaba oculto como un gif animado o un mensaje "cargando...", a la vez ocultas el file; y cuando se cargue el iframe das la orden de normalizar la página principal desde el propio iframe.
Saludos