Avatar billede dogg Nybegynder
12. oktober 2003 - 22:53 Der er 16 kommentarer og
2 løsninger

Location.href el. lign i DIV

Hej eksperter!

Jeg har følgende stykke kode:

<script language="JavaScript" type="text/JavaScript">

function skjulProfil(){
    document.getElementById('ProfilBox').style.visibility='hidden';
    }
function visProfil($username){
    document.getElementById('ProfilBox').style.visibility='visible';
    }
</script>

<div id="ProfilBox" name="ProfilBox" style="position: absolute;left:0px; top:0px;z-index:10;visibility:hidden;">
<br><a href="java script:skjulProfil()">Close profile window</a></div>
<a onclick="java script:visProfil('dogg')">Vis profil</a>

I den box vil jeg gerne have vist en side, når den åbnes (min vis-profil side). Jeg ved ikke om det overhovedet kan lade sig gøre, men jeg mener jeg har set noget lignende et sted før. Altså det jeg vil have er at når der klikkes og div´en bliver synlig, så skal indholdet af den være url´en der svarer til visprofil.asp?bruger= og så brugernavnet.
Mener jeg har set det med noget location.href, men er ikke 100% sikker.

Er der nogen der kan hjælpe mig med dette????

På fohånd tak!

Niels
Avatar billede repsak Nybegynder
12. oktober 2003 - 22:56 #1
location.href = 'blabla.asp'; skulle være god nok
Avatar billede dogg Nybegynder
12. oktober 2003 - 22:57 #2
jeg kan bare ikke få det til at virke.... Det er jo kun DIV´en der skal redirectes...
Avatar billede repsak Nybegynder
12. oktober 2003 - 23:00 #3
hmm er det så ikke mere Frames/IFrames du har brug for?
Avatar billede dogg Nybegynder
12. oktober 2003 - 23:03 #4
jo muligvis - det giver bare ikke det samme resultat, da profil-boxen skal ligge "oven i" designet.... Det var derfor jeg ville lave det i en div
Avatar billede dogg Nybegynder
12. oktober 2003 - 23:07 #5
Jeg troede bare jeg kunne smide følgende ind: document.getElementById('ProfilBox').location.href='viewprofile.asp'; (altså så der kom til at stå function visProfil($username){
    document.getElementById('ProfilBox').style.visibility='visible';
    document.getElementById('ProfilBox').location.href='viewprofile.asp';
    }

men det man så åbentbart ikke ...??
Avatar billede olebole Juniormester
13. oktober 2003 - 00:54 #6
<ole>

Ak, det kunne man kun i 'gode, gamle' NS4.X, hvor der var hele TO funktioner til at loade en HTML-side direkte ind i et div  :o|

Du kan jo bare anbringe en iframe i et div - og så skifte siden i iframe'en. Så kan du sagtens anbringe den 'ovenpå' siden.

/mvh
</bole>
Avatar billede roenving Novice
13. oktober 2003 - 03:04 #7
-- altså:

<script language="JavaScript" type="text/JavaScript">

function skjulProfil(){
    document.getElementById('ProfilBox').style.visibility='hidden';
    }
function visProfil(username){
    document.getElementById('profilFrame').src="visprofil.asp?bruger="+username;
    document.getElementById('ProfilBox').style.visibility='visible';
    }
</script>

<div id="ProfilBox" name="ProfilBox" style="position: absolute;left:0px; top:0px;z-index:10;visibility:hidden;">
<iframe id="profilFrame" src=""></iframe>
<br><a href="java script:skjulProfil()">Close profile window</a></div>
<a onclick="java script:visProfil('dogg')">Vis profil</a>
Avatar billede olebole Juniormester
13. oktober 2003 - 03:33 #8
Jeg er helt sikker på, roenving vil kommentere den onclick-handler - og dens brug af JavaScript-pseudo-protokollen  ;o))
/mvh
Avatar billede olebole Juniormester
13. oktober 2003 - 03:35 #9
... og sikkert også påpege, at det er 'smukkere' kode, at undgå den i href'en, når nu et link så venligt er udstyret med en onclick-handler til at afvikle JS-kode med  :)
Avatar billede roenving Novice
13. oktober 2003 - 03:39 #10
*g*

-- er det ikke snart sengetid !-)

-- og man kigger da ikke alt igennem altid, men helt klart en overseelse *lol*
Avatar billede olebole Juniormester
13. oktober 2003 - 03:46 #11
Hehe ... For nu lige at få vores spørger med:
Man skal _aldrig_ skrive 'java script:' i en event-handler (onclick, onmouseover, onload, el.lign.).
For at holde logikken på plads, bør man heller ikke skrive det i href'en, hvis man kan afvikle JavaScript'et i onclick-handleren i stedet.
Det sidstnævnte er ikke direkte 'ulovligt', men det er mere i overensstemmelse med tanken bag protokollen at lade være - og dermed 'smukkere' kode  :)

<a href="#" onclick="skjulProfil();return false">Close profile window</a></div>
<a onclick="visProfil('dogg')">Vis profil</a>

/mvh
Avatar billede olebole Juniormester
13. oktober 2003 - 03:48 #12
... og mon i øvrigt så ikke, det skal være:

<a href="#" onclick="skjulProfil();return false">Close profile window</a></div>
<a href="#" onclick="visProfil('dogg');return false">Vis profil</a>
Avatar billede roenving Novice
13. oktober 2003 - 03:49 #13
-- e bueno !-)
Avatar billede dogg Nybegynder
13. oktober 2003 - 10:57 #14
Genialt drenge! Jeg var lidt på rette vej, men nu virker det som det skal!! Takker! Smid et svar olebole og roenving så skal i få jeres point!

Endnu engang muchos gracias!
Avatar billede olebole Juniormester
13. oktober 2003 - 11:00 #15
Selvtak ... og nåja ... lidt bør man vel have for 'rengøringen' efter roenving  ;oD
Avatar billede roenving Novice
14. oktober 2003 - 05:03 #16
-- og du må altså også lægge et svar ole !-)

-- velbekomme dogg '-)
Avatar billede olebole Juniormester
14. oktober 2003 - 10:25 #17
oops ... det glemte jeg da vist  :)
Avatar billede roenving Novice
15. oktober 2003 - 15:48 #18
-- og tak for points ;~}
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