Continuo a non riuscire a risolvere il problema principale, e cioè il trasferimento dei dati dal form editato al db.
Ho risolto il caricamento dinamico nell'iframe da editare, non dovrei avere problemi a modificare i tag in base alle mie esigenze con le regular expression , ma rimane questo problema del trasferimento dati.
Riprendendo quanto indicato nel tutorial (http://javascript.html.it/articoli/l...tor-wysiwyg/4/) che mi è stato suggerito - e che in effetti è stato molto utile e chiaro - per ottenere il passaggio dati dall'iframe al database, mi sono regolato così:
JavaScript
Codice PHP:
function pulisciCodice(){
var contenuto = AttivaFrame("editArea").body.innerHTML;
contenuto = contenuto.replace(/<br\>/gi,"
");
contenuto = contenuto.replace(/<\a/gi,"<a");
contenuto = contenuto.replace(/<\/a\>/gi,"</a>");
contenuto = contenuto.replace(/(<strong\>)(.*)(<\/strong\>)/gi,"[b]$2[/b]");
//internet explorer
contenuto = contenuto.replace(/(<em\>)(.*)(<\/em\>)/gi,"[i]$2[/i]");
//opera
contenuto = contenuto.replace(/(<i\>)(.*)(<\/i\>)/gi,"[i]$2[/i]");
document.getElementById("codicePulito").value = contenuto;
}
mentre, nell'html
Codice PHP:
<input type="hidden" name="codicePulito"/>
Però il passaggio non avviene...
Ho fatto vari tentativi, ma i dati non venivano passati mai, così - considerando che avevo apportato delle modifiche al codice JS per le mie esigenze, ho provato a fare un test direttamente col file preparato del tutorial (esempio10.htm). Ho messo come action del form ver.php, ed ho creato un semplicissimo file ver.php con questo codice:
Codice PHP:
<?PHP
$testo = $_POST["codicePulito"];
$testo = nl2br("$testo");
echo $testo;
?>
Risultato: nulla! Evidentemente, quindi, i dati contenuti nell'iframe editArea non vengono passati al campo nascosto codicePulito...
Inutile dire che ho provato anche in altri modi (ho richiamato la funzione pulisciCodice al click del pulsante Salva, eliminando il tag form, e trasformando il campo codicePulito da hidden in textarea, ad esempio...), ma sempre senza alcun risultato.
Ed inutile dire che, se non risolvo questo, sono sempre e comunque a zero...
Davvero nessuno sa darmi un suggerimento?