[dhtml] form/iframes/textares probleem

Pagina: 1
Acties:

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-08 18:56

alienfruit

the alien you never expected

Topicstarter
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.

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...


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?

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Staat toevallig de SRC van je iframe op een ander domein dan je huidige scripts?

Stop uploading passwords to Github!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

JavaScript:
1
2
function validateForm( iFormName ) { 
  if ( UpdateFormatAreas( FieldTable, sFormName ) == true ) {


waar komt die variabele sFormName nou opeens vandaan?

Intentionally left blank


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-08 18:56

alienfruit

the alien you never expected

Topicstarter
crisp, sorry, last minute change het is de i van input :)

PapaEend, nou er is een javascript die geneert de IFRAME code dmv. document.write en die staat in de subdirectory "static".

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
je kan op een iframe een security="restricted" of zoiets toevegen, kijk daar eens naar mbt je access denied verhaal

daarnaast zou ik geen textarea, maar een input type="hidden" gebruiken om je html in te zetten...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 13-08 18:15

gvdh81

To got or not to got..

en houd er rekening mee dat iframes niet overal door ondersteund worden (goh wat leuk dat webdesign)

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-08 18:56

alienfruit

the alien you never expected

Topicstarter
Hmm. Ik gebruik de volgende regel:
document.write( '<iframe id="' + iRichEditId +'" name="' + iRichEditId +'" width="' + iWidth + '" height="' + iHeight + '"></iframe>' );

Volgens mij werkte iframes toch ook in de nieuwste versie's van Mozilla? Naja, daar kijk ik later wel na laten ik het maar eerst werkend krijgen in IE.

Verwijderd

alienfruit schreef op 20 oktober 2003 @ 11:46:
Volgens mij werkte iframes toch ook in de nieuwste versie's van Mozilla? Naja, daar kijk ik later wel na laten ik het maar eerst werkend krijgen in IE.
zelfs in de allereerste builds van mozilla

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-08 18:56

alienfruit

the alien you never expected

Topicstarter
Ja, Ik bedoelde met nieuwste versie's de NGLayout/Gecko versie's.
Weet iemand trouwens hoe ik me formulier kan doorlopen? Want volgens mij moet ik namelijk de naam van het formelement weet als ik de .elements array wil doorlopen.

[ Voor 62% gewijzigd door alienfruit op 20-10-2003 13:06 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
kijk hier maar eens, staat het hele verhaal uitgelegd

http://www.devarticles.com/art/1/90

i.e. 5.5+ is trouwens de enige die designmode = on toestaat op een iframe

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-08 18:56

alienfruit

the alien you never expected

Topicstarter
FvKnijff, als eerste bedankt voor de url ik zal het eens doorlezen.
Overigens zal ik maar een naar een alternatief voor de <iframe> gaan zoeken dan.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
alienfruit schreef op 20 October 2003 @ 13:47:
FvKnijff, als eerste bedankt voor de url ik zal het eens doorlezen.
Overigens zal ik maar een naar een alternatief voor de <iframe> gaan zoeken dan.
Daar heb ik ook al naar gezocht, die bestaat bij mijn weten niet (tenzij je een java-applet gebruikt...), als je hem vind dan hoor ik het graag :)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-08 18:56

alienfruit

the alien you never expected

Topicstarter
Oh. Ik vind Java applets maar horror in een webpagina :(
Naja, in iedergeval bedankt, ik straks wat dingen uitproberen samen met de gegeven url als het niet lukt kom ik weer terug. :)
Pagina: 1