Avatar billede karl-koder Nybegynder
15. april 2008 - 12:57 Der er 11 kommentarer og
1 løsning

Kald af side der skal vises i en div ?

Hvis jeg skal kalde indholdet fra en side ind i en div kan jeg så gøre dette uden brug af innerHTML ?

Og lidt kode i grove træk :

HOVEDSIDE
<html>
    <head>
    </head>
    <body>
        <a href="side1.html">Hent side 1</a>
        <a href="side2.html">Hent side 2</a>
        <div id="content"></div>
    </body>
</html>

SIDE 1
<form id="form1">
    Navn:<br />
    <input type="text" id="navn" /><br /><br />
    Email:<br />
    <input type="text" id="email" /><br />
    <input type="submit" id="submit" value="Send" />
</form>

SIDE 2
<img src="billede1.jpg" /><br />
<img src="billede2.jpg" />

Altså, kan jeg på nogen måde ved klik på links trække i en side og vise dennes indhold i en div på hovedsiden uden brug af innerHTML ?
Avatar billede roenving Novice
15. april 2008 - 13:00 #1
Hvis du bruger ajax kan du ...
Avatar billede w13 Novice
15. april 2008 - 13:06 #2
AJAX og DOM ja.
Avatar billede karl-koder Nybegynder
15. april 2008 - 13:07 #3
Også uden at benytte innerHTML ?

Hvordan skal f.eks. denne så laves om :

function loadpage(page_request, containerid)
{
    if (page_request.readyState == 4)
    {
        document.getElementById(containerid).innerHTML = page_request.responseText;
    }
}
Avatar billede w13 Novice
15. april 2008 - 13:12 #4
Der er ikke en simpel skabelon for det.

Du må bare sørge for at vide, præcis hvordan sidens struktur ser ud.

F.eks.

LINK
LINK
BILLED
LINK

Så kan du med DOM kode: "indsæt første link her, indsæt andet link her, indsæt første billed her" osv.

Hvis man har en stringToDOM-funktion, bliver det en hel del lettere, men det er ikke sådan lige at lave. (Jeg har konstrueret en, men den er hemmelig. ;)
Avatar billede roenving Novice
15. april 2008 - 13:14 #5
Er det en fast struktur, der er svaret, ligesom dit eksempel med to billeder ?-)

-- så kan du bare returnere urlen på billederne og så oprette img-elementer og sætte dem på !-)
Avatar billede karl-koder Nybegynder
15. april 2008 - 13:17 #6
Det er sjovt med alle de hemmelige koder folk har *GG*, men altså skal jeg istedet for at have min html side lave det ved hjælp af :

document.createElement("a");
...

document.createElement("img");
...

og så fremdelse ?

Hvis det er tilfældet kan jeg godt se at det vil tage sin tid at lave .oO
Avatar billede w13 Novice
15. april 2008 - 13:50 #7
Du bør enten hente dine data fra en XML- eller en JSON-side.

Du skal så først bruge document.createElement() på din hovedside, når du henter fra XML/JSON.
Avatar billede karl-koder Nybegynder
15. april 2008 - 14:05 #8
JSON delen havde vi oppe og vende i en tidligere tråd, men jeg kan godt se at det vil være en fordel med en string-To-Dom function der vil gøre det hele lidt lettere at have med at gøre. Kender du til nogle sider med info om hvordan jeg kan lave en sådan function.

Kunne jeg i reglen ikke bare loade siderne i en iframe, eller forsvinder denne også med tiden som det lader til at være tilfældet med innerHTML ?
Avatar billede w13 Novice
15. april 2008 - 14:10 #9
IFrame er vist død i XHTML, men hvis du bruger HTML 4.01 eller lign., sku' det være fint. Og langt lettere.

Jeg er aldrig stødt på en stringToDOM på nettet. (Jeg fandt vist et par, som gjorde brug af innerHTML til nogle ting, så det var jo fuldstændig ubrugeligt.)

Min egen brugte jeg rigtig lang tid på og der er stadig flere ting, der skal optimeres - det er derfor, jeg helst ikke vil give den videre. =)
Avatar billede karl-koder Nybegynder
15. april 2008 - 14:18 #10
Det er helt i orden, jeg giver heller ikke ud til højre og venstre af min .net kode ;o)

Jeg tror jeg må lade det ligge for nu og så benytte mig af enten iframe eller skjulte div's på siden som så vises/skjules ved klik på diverse elementer. Jeg har ikke for meget tid til at sætte mig ind i det lige pt. så det må komme på et senere tidspunkt.
Avatar billede olebole Juniormester
15. april 2008 - 22:20 #11
<ole>

Det ville være voldsomt skidt med en stringToDOM funktion. Én ting er, hvad der sker på klienten, men på serveren tager det ofte flere tusinde gange så lang tid at formatere og udskrive HTML, som det gør at formatere og udskrive de samme data i JSON.

Det giver med andre ord ikke mening at bruge HTML-strenge i forbindelse med Ajax ... hverken på serveren eller i browseren  ;o)

/mvh
</bole>
Avatar billede karl-koder Nybegynder
20. februar 2009 - 01:04 #12
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester