login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[JS] iframes info

Offline Stijn - 13/04/2006 15:16
Avatar van StijnPHP expert hallo

Ik ben bezig met een project (Cell , een soort excel achtig ding op het internet). Nu laat ik het werkblad met alle cellen in een iframe. Ik heb in me hoofdpagina allemaal javascripts geinclude. Nu zijn er functies van SelectCurrentCell( ID );
De vraag is wanneer ik die functie zet in me iframe pagina zal deze functie ook aangeroepen worden ja of nee of zal ik een andere manier moeten zoeken?

Bedankt stijn

8 antwoorden

Gesponsorde links
Offline kokx - 13/04/2006 15:26
Avatar van kokx Onbekend Je moet ze ook in de pagina van je iframe includen. Anders werkt het niet.
Offline Stijn - 13/04/2006 15:33
Avatar van Stijn PHP expert ja kdacht al zoiets. Maar kan ik ook data die ik uit een iframe haal ook in de hoofd zetten. voorbeeld: in me iframe staat volgende JS code:
<script>
document.write("blaat");
</script>

kan ik dit in me "main" ook zetten door dit te doen of gaat dat niet gaan? Desnoods met een ID....
<script>
window.document.write("blaat");
</script>
Offline Thomas - 13/04/2006 15:55
Avatar van Thomas Moderator Hmm... Misschien is het handiger om gebruik te maken van DOM scripting, ipv al die (onderhand toch wel redelijk) gare JavaScript? .
Offline Stijn - 13/04/2006 16:09 (laatste wijziging 13/04/2006 16:10)
Avatar van Stijn PHP expert bedankt , ik zal het eens op mijn gemak doornemen. Weet je zeker dat DOM hiervoor een toepassing is voor iframe dan? (me = newbie in JS)
Offline Thomas - 13/04/2006 16:20 (laatste wijziging 13/04/2006 16:20)
Avatar van Thomas Moderator Hm, dat weet ik eerlijk gezegd zo gauw niet. DOM is een standaard die omschrijft hoe je / waarmee je alle elementen binnen een HTML-achtige document kunt aanspreken en manipuleren, dus ik veronderstel dat je ook met / via iframes kunt werken... aan de andere kant, datgene wat in je iframe staat, is een ander document. Ik weet niet of DOM ook voorziet in het doorgeven / manipuleren van informatie tussen meerdere pagina's.
Offline Stijn - 13/04/2006 16:29 (laatste wijziging 14/04/2006 00:51)
Avatar van Stijn PHP expert Ik heb me Dreamweaver boek eens bovengehaald en dat hoofdstuk van DOM overlezen maar nergens iets over iframes. De inhoud van het bestand van de iframe wordt niet geinclude maar "gelinkt". Ik zal wat verder googlen, lastig hé zo'n topic 

[edit]

http://img122.i...ell9fv.jpg

Hier zie je wat ik bedoel. Je ziet die formulebalk bovenaan. Dit is een textvak met een id en wanneer ik een cel aanklik (bv: A1) dan moet de inhoud van A1 in de formulebalk verschijnen, andersom geld ook.

ter info

[idee]

Zou het lukken moest ik met een layer werken? Kan ik dan ook de scrollbalken instellen...?

[edit]

nope dus....

stijn

[besluit]

Ok ik het DOM onder knie en ben ervan overtuigt dat het niet zal lukken. Ik zal het met ajax of iets anders moeten doen.
Voor de mensen die nog geen DOM gezien hebben ofzo hier is wat ik heb klaargespeelt:
http://www.pastebin.be/897/
Offline BramBo - 15/04/2006 18:27 (laatste wijziging 15/04/2006 18:27)
Avatar van BramBo JS gevorderde FangorN ik wil niet op je strepen stappen, Maar ieder html/Xml document bevat een DOM (lees: Document Object Model) In FF heb je hiervoor een speciale inspector : Extra->DOM Inspector.
Waar je over spreekt zijn zogenaamde DOM Methods, die helaas niet door alle Browsers ondersteunt worden.

Wat je zou kunnen doen Stijn1989, voordat je het te complex gaat maken. Is gewoon in 1 document werken, iframes zijn naar mijn idee verleden tijd met een beetje css kan de zelfde layout genereren.

Daarnaast zou je dan een onfocus event handler toe kunnen voegen
aan alle tds. Die op zijn beurt zijn eigen waarde (this.value) kopieert naar een specifieke input die je aanroept via een ID

Klein voorbeeldje :
  1. /* JS */
  2. var x = document.getElementById('oke');
  3. var f = document.getElementsByTagName('input');
  4. for (var i=0;i<f.length;i++)
  5. {
  6. if (f[i].id == 'oke') continue;
  7.  
  8. f[i].onFocus = bla;
  9.  
  10. }
  11.  
  12. function bla() {
  13. x.value = this.value;
  14. }
  15.  
  16. /* html */
  17. <input type='text' id='oke'>
  18. <input type='text' id='a1'>

Verder niet getest ofzo het is slechts een opzetje 
Offline Stijn - 15/04/2006 19:33
Avatar van Stijn PHP expert ok het DOM ken ik nu al en vind het fantastisch om te gebruiken 

Ik ben er nog over aan het nadenken hoe ik het best zou kunnen doen. Het is dus de bedoeling om zoiets te hebben als de afbeelding van hierboven. aangezien iframes niet werken is er iets anders met scrollbalken ofzo want anders zit ik met een pagina van 3480px breed.

Layers werkten al niet...Ik had eerder gedacht van een iframe te gebruiken maar dan alle waarden door behulp van ajax (js/php) te gaan werken.

bedankt voor de reacties, stijn
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s