Son varias cosas...
Dices que tienes una página, con unos menús y que al seleccionar una opción de uno de ellos quieres que cambie el contenido de un
iframe. Entonces necesitamos que el evento que detecta el cambio en el menú se dispare un JavaScript, que llame a un CGI, que nos devuelva el código HTML de esa parte.
Pero hay un detalle: los
iframe no tienen código HTML, sino que uno de sus atributos es el
src, donde indicamos el lugar donde reside el código HTML que el cliente web debe cargar para visualizar dentro del
iframe.
Entonces, el CGI no debe devolvernos nada. Debe cambiar, dentro del servidor, la página HTML que se va a presentar dentro del
iframe. Cuando la petición haya terminado, el JavaScript que lo ha llamado solo le resta refrescar o redibujar ese
iframe. El cliente web recibe la orden de refresco, hace la carga del contenido, apareciendo entonces lo generado por el CGI.
Un ejemplo de ese refresco está aquí:
http://www.w3schools.com/js/tryit.asp?f ... wo_iframesOtra opción es no usar
iframe sino
div, y así sí que podemos cambiar el código directamente dentro de esa capa.