Ik ben bezig met het implementeren van een kleine htmleditor dmv. een <IFRAME> alleen nu loop ik tegen wat problemen aan. Als eerste wordt de inhoud van de <IFRAME> niet meegestuurd met het formulier. Als oplossing had ik bedacht om de inhoud in een <textarea>-element op te slaan, op het moment dat de formulier wordt gesubmit moet een script de <TEXTAREA> met <IFRAME> synchroniseren.
In mijn inzicht lijkt me dit de beste oplossing, alleen heb ik wat problemen met het script werk, hopelijk kunnen jullie me helpen.
Vervolgens heb ik de functie validateForm() die de inhoud van de formulier valideert, vervolgens moet hij ook de <TEXTAREA>-elementen synchroniseren. Ik heb hiervoor de volgende code bedacht:
Als ik probeer innerHTML aan te roepen in TopStyle, krijg ik een foutmelding van Internet Explorer namelijk: "Access Denied". Maar als ik hetzelfde in de gewone browser probeer krijg ik geen foutmelding maar krijg ook niks terug.
Soms heb ik ook dat ik plotseling de elements-array niet meer kan aanroepen volgens IE, ik snap er helemaal niks meer van

Iemand enig idee wat ik fout doe?
In mijn inzicht lijkt me dit de beste oplossing, alleen heb ik wat problemen met het script werk, hopelijk kunnen jullie me helpen.
HTML:
1
2
3
| <!-- formulier regel, zie ook de onSubmit-event --> <form enctype="multipart/form-data" id="frmScheme" name="frmEdit"<br> method="post" action="updateprocess.php" onSubmit="return validateForm(<br> this.name );"> |
Vervolgens heb ik de functie validateForm() die de inhoud van de formulier valideert, vervolgens moet hij ook de <TEXTAREA>-elementen synchroniseren. Ik heb hiervoor de volgende code bedacht:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| function validateForm( iFormName ) { if ( UpdateFormatAreas( FieldTable, sFormName ) == true ) { return true; } else { return false; } } function UpdateFormatAreas( iFieldArray, iFormName ) { // // iFieldTable = null; // iFieldTable not used // oFormObject = document.getElementById( iFormName ); if ( oFormObject == null ) { return false; } // // Synchronize the textarea against the Iframes aFormElement = oFormObject .elements[ 'content_raw' ]; aEditorElement = document.getElementById( 'content_editor' ); // get the contents of the <IFRAME>... aHTMLText = aEditorElement.document.body.innerHTML; if ( aHTMLText != "" ) { aFormElement.value = aHTMLText; document.write( "htmltext=<pre>" + escape(aHTMLText) + "</pre>" ); document.write( "textarea=<pre>" + escape(aFormElement.value) + "</pre>"); } return false; } |
edit:
Hmm. Het werkt wel met bovenstaande code, alleen nu krijg ik html code terug van de pagina waar het formulier opstaat ipv. de <IFRAME>. "aEditorElement.document.innerHTML" werkte niet...
Hmm. Het werkt wel met bovenstaande code, alleen nu krijg ik html code terug van de pagina waar het formulier opstaat ipv. de <IFRAME>. "aEditorElement.document.innerHTML" werkte niet...
Als ik probeer innerHTML aan te roepen in TopStyle, krijg ik een foutmelding van Internet Explorer namelijk: "Access Denied". Maar als ik hetzelfde in de gewone browser probeer krijg ik geen foutmelding maar krijg ook niks terug.
Soms heb ik ook dat ik plotseling de elements-array niet meer kan aanroepen volgens IE, ik snap er helemaal niks meer van
Iemand enig idee wat ik fout doe?