Avatar billede zac Nybegynder
18. november 2005 - 16:30 Der er 9 kommentarer og
1 løsning

Kombinere #anker link med variabel send vha. GET i samme link?

Kan man kombinere det at sende variabel i et link (vha. GET) med at linket har (altid ender med?) et #anker som angiver en location indenfor URIen (vha. linket selv, så at sige)?

Jeg har to niveauer af tekst: artikler, som hver har flere afsnit.

Den her sender $find med over fra se_fundne med overskrifterne på de fundne afsnit, skal bruges til at markere søgeordet med rødt i teksten i vis_fund.php, som viser artiklen med alle afsnit:
<a href='vis_fund.php?artikelId=$artikelId&afsnitId=$afsnitId&word=$find'>
Den giver altså $word markeret med rødt i alle afsnit i artiklen (vha. $tekst = eregi_replace ("($word)", "<font color='red'>\\1</font>", $tekst) i vis_fund.php).

Den her linker til et afsnit markeret med dets id som anker mærke, så man i visningen af vis_fund.php går lige til det bestemt afsnit i artiklen (som altså stadig er der incl. alle afsnit):
<a href='vis_fund.php?artikelId=$artikelId#$afsnitId'>

Hvordan kombinere de to?
Så man går direkte til afsnittet givet med afsnit id, men har alle afsnits tekst markeret med rødt fra $find.
Man kan tilsyneladende ikke sige:
artikelId=$artikelId#afsnitId&word=$find
Og heller ikke:
artikelId=$artikelId&word=$find#afsnitId
De går begge til artiklen, men ikke til afsnittet, og intet er markeret med rødt...
Avatar billede olebole Juniormester
18. november 2005 - 16:52 #1
<ole>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
<style type="text/css">
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
</style>
</head>
<body>

<?var_dump($_GET)?>
<br><br>
<a href="<?=$_SERVER["PHP_SELF"]?>?id=123&noget=etEllerAndet#bla">TEST</a>
<br><br>
<div style="height:1500px">Højdefyld</div>

<div id="bla">Bla-ankeret her</div>

</body>
</html>

/mvh
</bole>
Avatar billede zac Nybegynder
18. november 2005 - 20:13 #2
Jeg var tæt på med: artikelId=$artikelId&word=$find#afsnitId, der manglede bare et $ efter #!
Det virker i hvert fald nu med: artikelId=$artikelId&word=$find#$afsnitId.

Og det er vist nok det, olebole angiver. Hvis jeg forstår det, du skriver, er det sådan her:
- var_dump($_GET); -- er for at se, hvad der sendes over...
- $_SERVER["PHP_SELF"] er (bare), at det holdes inden for samme fil, ikke?
- ?id=123&noget=etEllerAndet#bla -- er selve det, der virker...
- <div id="bla">bla</div> virker, men det gør <a name='bla'> også, og jeg forstår ikke, hvorfor den første med div virker (er "div id" her ækvivalent med "a name", og hvorfor?).
Point? Og tak!
Avatar billede olebole Juniormester
18. november 2005 - 20:27 #3
Selvtak, til en begyndelse  ;o)

Dernæst er alle dine antagelser er ganske korrekte. Om du bruger:
  <a name="bla">Bla</a>

- eller:
  <div id="bla">Bla</div>

- gør ingen forskel - omend der er visse forskelle på at bruge en name- og id-attribut:
    http://www.w3.org/TR/html401/struct/links.html#h-12.2.3
Avatar billede olebole Juniormester
18. november 2005 - 20:27 #4
:)
Avatar billede zac Nybegynder
18. november 2005 - 22:51 #5
Jeg var ikke klar over, at man kunne bruge id attributten i ethvert html begyndelsestag.
Kan se, at man så egentlig skal bruge <A href... (stort A) ved afsendelsen, og ikke <a href... (lille a), men det virker stadig med lille a.
Avatar billede zac Nybegynder
18. november 2005 - 22:52 #6
Altså man skal bruge stort A i alle tilfælde med <A href... - også, hvis man bruger name i stedet for id.
Avatar billede olebole Juniormester
18. november 2005 - 23:11 #7
Det må du have misforstået. Man bør bruge små bogstaver i tagNames.
Når W3C bruger store i deres eksempler, er det blot for at tydeliggøre tingene ... men Guderne skal vide, det ikke er et godt valg  ;o)
Avatar billede zac Nybegynder
20. november 2005 - 13:12 #8
ok - eller, der var engang noget med, om html tags skulle skrives med stort eller lille, fx <LINK> eller <link>, og W3 skriver med stort alle steder
Avatar billede olebole Juniormester
20. november 2005 - 17:03 #9
I HTML kan du skrive tagNames med store og/eller små bogstaver - men tendensen går mod kun at bruge små bogstaver. Således er XHTML case-sensitive og her _skal_ tagNames skrives med småt.
Derfor er det nok en god idé at øve sig på at skrive med småt - og derfor skrev jeg: "Man bør bruge små bogstaver i tagNames" ... det er ingenlunde et krav i HTML  :)

At W3C bruger store bogstaver i HTML-rekommandationerne, er udelukkende for at tydeliggøre eksempler og lette læsningen
Avatar billede zac Nybegynder
25. november 2005 - 01:03 #10
ok, tak for opklaringen.
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