Para recuperara el contenido del iframe en un formulari, como el iframe no pertenece al formulario, lo que he hecho es crear una etiqueta INPUT de tipo hidden i mediante la sigüiente función javascript que llamo al hacer click en el botón de enviar del formulario :
Cita:
function getHtml(form,formnot1,id1)
{
if(ie){
var editor_obj = document.all[id1];
}else if (n6){
var editor_obj = document.getElementById(id1);
}
formnot1.value=editor_obj.contentWindow.document.b ody.innerHTML;
form.submit();
}
NOTA: ie i n6 son dos variables booleanas que son true si estamos en internet explorer (ie) o netscape (n6)
Donde id1 es el id del iframe, form es el formulario donde estamos y formnot1 es el campo hidden que he mencionado. La llamada desde el botón de envio seria esta:
Cita: /* Este INPUT es donde se colocarà el texto del iframe en html para ser enviado junto con el formulario*/
<INPUT type=hidden name=noticia >
/* El boton que al ser presionado llama a la funcion javascript mencionada*/
<INPUT type=button value=\"Publicar\" onClick=\"getHtml(this.form,this.form.noticia,this .form.noticia,'edit','');\">
Espero que esto te sirva.
Ya de paso lanzo otra pregunta que me esta llevando quebraderos de cabeza: Como introduzco un texto html largo en un IFrame? He probado con la propiedad innerHTML de document.body en javascript , igualandole el texto html, pero parece que de tan largo que es no lo pilla. A ver si alguien sabe de algún sitio donde lo explique perfectamente, lo necessito para editar un texto introducido con el iframe: cojo el texto html de la base de datos i lo quiero meter en el iframe para modificar. Como esto es PHP+javascript si es mejor que lo ponga en otro de los foros lo entenderé.
Saludetes