Toon posts:

Tabellen in een iframe

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een rich-edit wysiwyg online editor en wil hier ook de mogelijkheid van tabellen aangeven. Op MSDN zeggen ze het volgende hierover:
New in Internet Explorer 5.5
That's all pretty standard stuff for a forms editor, but Internet Explorer 5.5 also supports some very cool new features that make creating forms and Web pages both easy and fun. These new features include the following:

2D absolute positioning
Live resizing
Multiple selection
Unselectable UI elements
With 2D absolute positioning, a user can position elements anywhere on a page by just dragging and dropping them. (Say goodbye to those complicated tables you used to have to create to get the exact layout you wanted!)

The live resize feature gives users live WYSIWYG feedback as they resize an element. Instead of drawing an outline while the user drags the mouse, and having the element resize itself when the mouse button is released, the element is resized in real time as the user drags its grab handles.
Helaas kan ik verder niks vinden over hoe ik dit moet gebruiken. Heeft iemand ervaring met het invoegen van tabellen in een iframe of weet iemand waar ik hier meer documentatie over kan vinden? Elke tip is welkom. Alvast bedankt.

Verwijderd

microsoft zelf heeft toch ook zo'n soort componentje? http://msdn.microsoft.com...redcom/html/dhtmledit.asp

Verwijderd

Topicstarter
Jep, maar eigenlijk moet het vanaf IE 4.0 werken. Is document.write geen optie? En dan gewoon de HTML in je iFrame schrijven? Of is dit een erg lelijke oplossing?

Verwijderd

super fraai is het niet, maar volgens mij heb je dan toch een probleem met 4.0. Volgens mij heeft die namelijk ook geen iframe support.

Maar de meeste gebruikers zijn inmiddels toch wel ge-upgrade naar 5.x versies. Voor de beheer omgevingen die wij hier maken, is het gewoon een regel in de licentie. Voor goede werking moet de klant minsten een IE 5.x browser hebben. En eigenlijk doet geen enkele klant daar echt moeilijk over.

Verwijderd

Topicstarter
ah ok, helaas moet het ook op 4 draaien, maar goed daar kijk ik later wel naar. Momenteel heb ik probleempje met het focussen. Ik kan wel document.write doen, maar dan gooit hij het gewoon onder het laatste teken in het iframe.

De bedoeling is dat hij dat doet op de plek waar de cursor staat.

Dit werkt:
code:
1
2
3
4
function doInsertRow()
{
     iframe.document.write('<table border="1" cellpadding="0" cellspacing="0" width="100%"><tr><td width="50%"></td></tr></table>');
}


en dit werkt helaas niet, waar maak ik een fout?

code:
1
2
3
4
5
6
7
function doTable()
{
    iframe.focus();
    var sel =iframe.document.selection;
    var tempFrame = iframe.sel.createRange();
    tempFrame.document.write('<table border="1" cellpadding="0" cellspacing="0" width="100%"><tr><td width="50%"></td><td width="50%"></td></tr></table>');
}

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 28-08 15:30

sopsop

[v] [;,,;] [v]

ik heb het volgende ooit gemaakt:
Wysiwyg test
Hier kun je gewoon MSWord tabellen invoegen.

Verder kun je d.m.v. die buttons tags invoeren. Daar is vast wel een functie voor te schrijven die kijkt hoeveel kolommen en rijen je wilt hebben.

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 28-08 15:30

sopsop

[v] [;,,;] [v]

probeer eens om de width in de <td> tag weg te laten en om iets in de 'cel' te zetten, bijvoorbeeld een spatie.

Verwijderd

Topicstarter
Ziet er leuk uit die wysiwyg test. Zoiets zoek ik, met nog een paar mogelijkheden. Ik denk dat daar wel een paar functies voor te schrijven zijn. Op zich werkt het heel mooi met document.write() alleen gooit hij dan telkens de kolommen en rijen onderaan en dat is niet de bedoeling.

als ik de width eruit haal en iets in de cel zet veranderd er niks. Het schrijft niks in het iframe. Volgens mij gaat het er iets fout met het tempframe.

Verwijderd

Topicstarter
Ik heb hem al, het lukt als volgt:
code:
1
2
3
4
5
6
7
function doTable()
{
    iframe.focus();
    var sel = iframe.document.selection;
    var theFrame = sel.createRange();
    theFrame.pasteHTML('<table border="1" cellpadding="0" cellspacing="0" width="100%"><tr><td width="290"></td><td width="290"></td></tr></table>');
}
Pagina: 1