ciao a tutti, ho questo problema... Ho studiato l'esempio che c'è sul sito per creare un modulo wysiwyg.. a questo indirizzo http://www.html.it/articoli/costruir...tor-wysiwyg-1/ ..

Molto ben fatto, ma non riesco a fare una cosa... se io volessi editare un testo sccritto e salvato in precedenza, come posso fare a richiamarlo e inserirlo nell'iframe? Ho provato in tutti i modi che conosco ma non ci riesco...
Credo che il problema sia che non riesco a mettere il focus nell'iframe al caricamento della pagina.. Potete aiutarmi?

Ho creato una pagina semplificata per risolvere ma non è servito... vi allego il codice:

codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <title>Un editor Visuale: Esempio 9, Risultato finale</title>

<script type="text/javascript" language="javascript">

// Porta il focus al riquadro di testo 

function setFocus() { 
if (document.all) 
    document.frames("editArea").focus(); 
else 
    document.getElementById('editArea').contentWindow.focus() 
return; 
}

function InserisciContenuto(testo)
{
    AttivaFrame("editArea").execCommand("InsertHTML", false, testo);
}  


// per immagini nelle news
function popimg()
{
var finestra = window.open('ins_image.php','_blank','width=700, height=400, scrollbars=yes, resizable=yes, top=100, left=500'); 
finestra.blur();
self.setfocus();
}
  
    function load(){
      AttivaFrame("editArea").designMode = "On";       
    }
    
    function AttivaFrame(iFrameID){
      if (document.getElementById(iFrameID).contentDocument){  
		  //Mozilla
        return document.getElementById(iFrameID).contentDocument;
      } else {
		  //Internet Explorer
        return document.frames[iFrameID].document;
       }
     }
    function applicaComando(cmdStr,valCmdStr){
		if (!document.getElementById("editArea").contentDocument){
		   switch(valCmdStr){
			   case "h1":
				   valCmdStr = "heading 1";
					break;
			   case "h2":
				   valCmdStr = "heading 2";
					break;
			   case "h3":
				   valCmdStr = "heading 3";
					break;
			   case "p":
				   valCmdStr = "paragraph";
					break;
			}
		}
      AttivaFrame("editArea").execCommand(cmdStr,false,valCmdStr);
    }
        
    function aggiungiImmagine(url){
    var imgURL = url;
    AttivaFrame("editArea").execCommand("insertImage", false, imgURL);
    }
    
    function aggiungiImmagineLink(url, url_link) {
    var html = "<a href=\""+ url_link +"\" target=\"_blank\"><img src=\""+ url +"\"></a>";
    AttivaFrame("editArea").execCommand("InsertHTML", false, html);
    } 
  
    
    function aggiungiLink(){
      var linkURL = prompt("Inserisci il link da aggiungere:", "");
      AttivaFrame("editArea").execCommand("createLink", false, linkURL);
    }    
    
	 function vediCodice(){
	   var contenuto = AttivaFrame("editArea").body.innerHTML;
      document.getElementById("codice").innerHTML = contenuto.replace(/</g,"&lt;");
    }
    function pulisciCodice(){
	   var contenuto = AttivaFrame("editArea").body.innerHTML;
		contenuto = contenuto.replace(/<br\>/gi,"
");
		contenuto = contenuto.replace(/(<p\>)(.*)(<\/p\>)/gi,"

$2</p>");
		contenuto = contenuto.replace(/<\a/gi,"<a");
		contenuto = contenuto.replace(/<\/a\>/gi,"</a>");
		contenuto = contenuto.replace(/<\div\>/gi,"<div>");
		contenuto = contenuto.replace(/<\/div\>/gi,"</div>");
		contenuto = contenuto.replace(/(<strong\>)(.*)(<\/strong\>)/gi,"<span style=\"font-style: bold;\">$2</span>");
		contenuto = contenuto.replace(/(<ul\>)(.*)(<\/ul\>)/gi,"<ul>$2[/list]");
		contenuto = contenuto.replace(/(<li\>)(.*)(<\/li\>)/gi,"[*]$2");
		//internet explorer	
      contenuto = contenuto.replace(/(<font )(color)(=)(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?)(>)(.*)(<\/font\>)/gi,"<span style=\"$2:$4;\">$9</span>"); 
		contenuto = contenuto.replace(/(<p )(align)(=)([A-Za-z]*)(>)(.*)(<\/p\>)/gi,"<div style=\"text-align: $4;\">$6</div>");
		contenuto = contenuto.replace(/(<em\>)(.*)(<\/em\>)/gi,"<span style=\"font-style: italic;\">$2</span>");
		//opera
		contenuto = contenuto.replace(/(<font )(color)(=\")(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?)(\")(>)(.*)(<\/font\>)/gi,"<span style=\"$2:$4;\">$10</span>"); 
		contenuto = contenuto.replace(/(<div )(align)(=\")([A-Za-z]*)(\")(>)(.*)(<\/div\>)/gi,"<div style=\"text-align:$4;\">$7</div>");		
		contenuto = contenuto.replace(/(<i\>)(.*)(<\/i\>)/gi,"<span style=\"font-style: italic;\">$2</span>");

		document.getElementById("codicePulito").value = contenuto;	
	 }
  </script>

 
  <style type="text/css">
  div#pulsantiera {
	background: ButtonFace;
	width: 402px;
	padding: 10px 0;
	text-align: center;
}
  #editArea {
  	width: 400px;
	border: 1px solid #CCC;
  }
  #pulsantiera a {
  background: ButtonFace;
  color: ButtonText;
  border: 1px solid ButtonFace;
  }
  #pulsantiera a.premuto {
  background: ButtonHighlight;
  border: 1px solid;
  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
  }
  #pulsantiera img {
	border: 0;
  }
  #pulsantiera a:hover {
  border: 1px solid;
  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
  }
  </style>
  
  
</head>

<?PHP

$contenuto = "ECCO UN TESTO DI PROVA PER VEDERE SE FUNZIONA";

?>

<body onload="load()">

    <form action="prova2.php" method="POST" id="formEditArea" onsubmit="pulisciCodice()">
	 <input type="hidden" name="codicePulito" id="codicePulito"/>
    <iframe src="" id="editArea" name="editArea" width="300" frameborder="0"></iframe>

	 <div id="pulsantiera">
	    [img]img/corsivo.gif[/img]
	    [img]img/grassetto.gif[/img]
	    [img]img/sottolineato.gif[/img]
        [img]img/immagine.gif[/img]
        [img]img/immagine.gif[/img]
	    [img]img/link.gif[/img]
		 [img]img/allineadestra.gif[/img]
		 [img]img/allineasinistra.gif[/img]
		 [img]img/allineacentro.gif[/img]
		 [img]img/giustifica.gif[/img]
		 [img]img/listaordinata.gif[/img]
		 [img]img/lista.gif[/img]
		 [img]img/copia.gif[/img]
		 [img]img/incolla.gif[/img]
		 [img]img/undo.gif[/img]
		 [img]img/redo.gif[/img]
       <select onchange="applicaComando('formatblock',this.options[this.selectedIndex].value)">	 
          <option>Scegli formato</option>
          <option value="h1">Titolo Grande</option>
          <option value="h2">Titolo Medio</option>
          <option value="h3">Titolo Piccolo</option>
		    <option value="p">Paragrafo</option>
       </select>
       <select onchange="applicaComando('forecolor',this.options[this.selectedIndex].value)">	 
          <option>Scegli un colore</option>
          <option value="#00FF00">Verde</option>
          <option value="#FF0000">Rosso</option>
          <option value="#0000FF">Blu</option>
		    <option value="#000000">Nero</option>
		    <option value="#990000">Rosso Mattone</option>
       </select>
		 

	 </div>
	 <input type="submit" value="salva"/>
	 </form>
</body>

<script type="text/javascript">

setFocus();

InserisciContenuto('

testo di prova</p>');

</script>


</html>