Avatar billede aspguf Nybegynder
28. februar 2005 - 09:49 Der er 25 kommentarer og
1 løsning

hvordan opdater jeg frame

hey jeg er ved at lave et login script i asp og skal have et anden frame opdater når jeg logger ind..

men jeg kan ikke få nåde til at virker og vil høre om der er en der kan hjælpe..

mit frame heder topmenu
Avatar billede and_ Nybegynder
28. februar 2005 - 10:42 #1
Kan ikke gøres med asp, da den er serverside og ikke aner at du har et frameset.
Du bliver nødt til at udskrive noget javascript til brugeren...

fx. noget a'la dette:

<body onload="top.topmenu.location = 'nyside.htm';">

Denne vil få topmenu til at loade en ny side.
Du kunne fx. også have brugt reload til bare at opdatere den nuværende side i topmenu
Avatar billede aspguf Nybegynder
28. februar 2005 - 10:59 #2
ja det med asp ved jeg godt det var bare at jeg gerne vil have et script de kun opdater det frameset..
Avatar billede and_ Nybegynder
28. februar 2005 - 11:02 #3
Så skal du bruge ovenstående...
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:04 #4
den skal helst virke sådan at jeg kan senden den til det når jeg logger ind..
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:04 #5
kan ikke få det til at virker.. Æv..
Avatar billede and_ Nybegynder
28. februar 2005 - 11:09 #6
Altså når der klikkes på en submit

Du kan fx. bare gøre med onunload:
<body onunload="top.topmenu.location = 'nyside.htm';">

Så vil den loade den nye fil ind i topmenu når du går væk fra den side som du er på..

Ellers må du give mig lidt mere at arbejde med... Du er lidt sparsom med oplysninger/koder....
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:10 #7
mit problem er jeg ikke kan have det i den næste fil den åben da det så vil står og hent den igen..

jeg skal have den i nåde af denne stil og det virker bare ikke

response.write "<script>top.topmenu.location = '../top.asp';</script>"
Avatar billede and_ Nybegynder
28. februar 2005 - 11:18 #8
øøhhh.. forstår ikke hvad du skriver :(

Men forklarer:

onunload = bruges i et bodytag til at tricke et event når man bevæger sig væk fra siden. Fx. at opdatere en anden frame, alertbox, popup osv.

onload = Bruges når man kommer ind på siden til at loade en event.

Har du ikke et link eller lignende til mig, så jeg kan se hvad du mener?

Umiddelbart skulle man kunne lave det med din autonomscripting som du laver i det eksempel. Får du en javascriptfejl?

det er vel ikke en iframe? For så skal vi have flere identifiers på, da "top" hopper op i toppen af framesettet og navigerer sig ned igennem...
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:23 #9
ja men det kan jeg som sagt ikke bruge da min login.asp helst skal sætte alle ting.
Jeg kan desvære ikke vise helt hvad jeg arbejder med da det kun køre på min pc. til jeg er færdig. men der er sådan at jeg skal opdater en top og en menu.. og der til skal jeg så have min login fil til at opdater dem når den har chekke om bruger er ok. jeg have en gang sådan et script men kan ikke finde det.

response.write "<script>top.topmenu.location = '../top.asp';</script>"
den her virker bare ikke sker ingen ting..
din unload virker som den skal men kan bare ikke bruge den til det her..
Avatar billede and_ Nybegynder
28. februar 2005 - 11:28 #10
Du modsiger dig selv!

din autonomscripting har samme funktion som onload!
Der må jo være en grund til at det ikke vil virke, ergo fejl!
Får du javscriptfejl i din browser?

Du jo bare ligger flere events ind i din onload eller onunload
eller definere dem som en funktion, hvor du opdaterer begge frames herfra...

hvordan ser din login.asp ud?
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:33 #11
nej jeg modsiger ikke mig selv.

Jeg siger at dit scrip virker bare ikke til det jeg skal bruge det til..
Jeg skal have mit login del til at opdater min frame..

som dette script..
response.write "<script>top.topmenu.location = '../top.asp';</script>"
Avatar billede and_ Nybegynder
28. februar 2005 - 11:39 #12
JA!

Korrekt scripting:
onload og onunload

Ukorrekt scripting:
response.write "<script>top.topmenu.location = '../top.asp';</script>"

Du giver mig ingenting at arbejde med! Du siger at det ikke virker, men du vil ikke komme ind på hvorfor det ikke vil virke?

Hvordan er dit frameset bygget op? Får du fejl? Hvordan ser login.asp ud?
Der er masser af faktorer jeg ikke kender her, og derfor svarer jeg jo i blinde til dig...
Avatar billede and_ Nybegynder
28. februar 2005 - 11:40 #13
Prøv fx:

response.write "<script>alert(top.topmenu.location);</script>"

Hvis der kommer en alert med fx, undefined, er det fordi den ikke kan hive fat i din frame...
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:40 #14
Hvad vil du se ?
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:45 #15
kommer ikke nåde frem.. ved godt der normalt vil komme en popupbox men ikke her..
Avatar billede and_ Nybegynder
28. februar 2005 - 11:45 #16
Hvis du siger fx:

if loggetind = "ja" then
  response.write("<script language=""javascript"" type=""text/javascript"">")
  response.write("function funk(){")
  response.write("top.topmenu = 'fil.asp';")
  response.write("window.location = 'fil2.asp';")
  response.write("}")
  response.write("</script>")
  response.write("<body onload=""funk();"">&nbsp;</body>")
else
  response.write("Log venligst ind!")
end if
Avatar billede and_ Nybegynder
28. februar 2005 - 11:46 #17
Hvad med nede i hjørnet af browseren? kan du ikke se en fejl dernede?
Hvad med højreklik -> vis kilde? Skriver den det output den skulle?
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:47 #18
nu kan jeg godt få en popupbox med det text
Avatar billede and_ Nybegynder
28. februar 2005 - 11:49 #19
Altså adressen på framen topmenu?
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:50 #20
ja..
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:50 #21
mit login script er
<%

dim strBrugernavn
dim strAdgangskode

if Request.Servervariables("REQUEST_METHOD") = "POST" Then
strBrugernavn = Trim(Replace(request.form("Brugernavn"),"'","''" ))
strAdgangskode = Trim(Replace(request.form("Adgangskode"),"'","''" ))

Set Userrs = Conn.Execute("SELECT Customeruser.*, Customer.* FROM Customeruser, Customer WHERE Customer.CustomerID=Customeruser.CustomerID and Customer.CustomerStatus='Unlock' and Customeruser.Username = '" & strBrugernavn & "' AND Customeruser.Password = '" & strAdgangskode & "' and Customeruser.UserStatus='Unlock' and Customeruser.Typelogin='Kunde'")
If Not (Userrs.BOF Or Userrs.EOF) Then
conn.Execute("UPDATE customeruser SET SessionID = '" & session.SessionID & "' WHERE UserID = '" & Userrs("UserID") & "'")
response.write "<script>top.topmenu.location.href='../top.asp';</script>"
session("customerAcount") = Userrs("UserID")

Response.redirect "default.asp"
else
msgText = "Fejl i brugernavn og password"
end if
end if

%>
Avatar billede aspguf Nybegynder
28. februar 2005 - 11:55 #22
fandt selv en løsning.. tro ikke den kan lide Response.redirect "default.asp"
Avatar billede and_ Nybegynder
28. februar 2005 - 11:58 #23
Begreber ;)
Jeg ridser det lige groft op:

ASP = serverside - Brugeren får aldrig fat i aspkoderne, da disse er afviklet på serveren og det html/jscript/osv output bliver sendt til brugerens browser.

java script: Clientside. Bruges til at manipulere med data/events på brugerens maskine i browseren.

HTML = Markup sprog...

Og en forklaring:
Du skriver godt nok response.write "scriptet" osv., men
længere nede laver du en headerskift med response.redirect, så brugerens browser får aldrig det som du har udskrevet....
Avatar billede and_ Nybegynder
28. februar 2005 - 11:59 #24
Du bliver nødt til at lave det med en javascript's redirect så!
Avatar billede aspguf Nybegynder
28. februar 2005 - 12:02 #25
det her virker response.write "<script>top.topmenu.location = '../top.asp';</script>" når man dropper Response.redirect "default.asp"
Avatar billede and_ Nybegynder
28. februar 2005 - 12:06 #26
takker for point ;)

Det er som sagt fordi du laver et headerskift på serversiden og ikke klientsiden.
Der er desværre ikke "workarounds" end at man må lave sin redirect med javscript:

response.write "<script>top.topmenu.location.href='../top.asp';window.location = 'default.asp';</script>"

Denne opdaterer først framen, og derefter skifter siden ud med en anden.... ;)
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