Avatar billede janbangm Nybegynder
03. februar 2004 - 09:42 Der er 14 kommentarer og
1 løsning

Onclick og asp

Hej

Jeg ved ikke om jeg er helt galt på den. Jeg vil prøve at lave det sammen menusystem som der er her: http://www.nvidia.com/content/drivers/drivers.asp

Jeg har lavet dette

<html>

<head>

<title>Helpdeck</title>
<script>
function opdater()
{
parent.frames[1].location.href = 'menu2.asp';
}
</script>
</head>
<body>
<%
Dim objconn, objrs, strQ   
Set objConn= Server.Createobject("adodb.Connection")

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\inetpub\wwwroot\rammeside\Helpdeksk.mdb;"
sql = "SELECT Kode, Tekst, Len([kode]) AS Udtryk1 FROM menutabel WHERE (((Len([kode]))=1)) ORDER BY Kode;"

SET OBJRS = objConn.execute(sql)
Response.write "<Select size= '10' name ='valg1' onclick = opdater() >"
while not objrs.eof

Response.write "<option>" & objrs("Tekst") & "</Option>"
objrs.movenext
Wend
%>
</SELECT>
</body>

Men hvordant får jeg det man har vagt med over til næste side. Kan jeg lave en session variable

Jan
Avatar billede jernespand Nybegynder
03. februar 2004 - 09:46 #1
function opdater('menuitem')
{
parent.frames[1].location.href = 'menu2.asp?menuitem='&menuitem;
}
og

Response.write "<Select size= '10' name ='valg1' onclick = opdater('valg1') >"

og så på asp siden skriver du i asp koden
menuitem=request("menuitem")
Så vil menu item være det valgte menulink
Avatar billede jernespand Nybegynder
03. februar 2004 - 09:47 #2
sessionsvariabler er ikke en so god ide da det dræner computeren for ram ved mange besøgenede
Avatar billede jernespand Nybegynder
03. februar 2004 - 09:48 #3
function opdater('menuitem') skal være function opdater(menuitem)
Avatar billede nute Nybegynder
03. februar 2004 - 09:48 #4
du kan lægge på den værdi, du har valgt, på URL'en:

parent.frames[1].location.href = 'menu2.asp?valg1=' + document.getElementById('valg1').options[ document.getElementById('valg1').selectedIndex ];

Men det pæneste ville være at submitte et formular

/nute
Avatar billede janbangm Nybegynder
03. februar 2004 - 09:49 #5
Jeg prøver
Avatar billede nute Nybegynder
03. februar 2004 - 09:50 #6
jernespand >> ved dit eksempel, skal du gøre sådan:

parent.frames[1].location.href = 'menu2.asp?menuitem=' + menuitem.options[ menuitem.selectedIndex ];

'menuitem' er et object af typen 'Select' så du kan ikke sende det med over. & bruges i ASP, ikke javascript

/nute
Avatar billede janbangm Nybegynder
03. februar 2004 - 10:15 #7
Først. Jeg er ikke god til det her.
Nute
Jeg har det her
<script>
function opdater()

{
parent.frames[1].location.href = 'menu2.asp?valg1=' + document.getElementById('valg1').options[ document.getElementById('valg1').selectedIndex ];
}


</script>
</head>
<body>
<%
Dim objconn, objrs, strQ   
Set objConn= Server.Createobject("adodb.Connection")

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\inetpub\wwwroot\rammeside\Helpdeksk.mdb;"
sql = "SELECT Kode, Tekst, Len([kode]) AS Udtryk1 FROM menutabel WHERE (((Len([kode]))=1)) ORDER BY Kode;"

SET OBJRS = objConn.execute(sql)
Response.write "<Select size= '10' name ='valg1' onclick = opdater() >"


while not objrs.eof
' parent.frames[1].location.href = 'menu2.asp';
Response.write "<option>" & objrs("Tekst") & "</Option>"
objrs.movenext
Wend
%>
</SELECT>
</body>

Er det rigtigt og hvad bruger jeg på side 2 for at få fat på valg1
Avatar billede nute Nybegynder
03. februar 2004 - 10:19 #8
Request.QueryString("valg1")

/nute
Avatar billede nute Nybegynder
03. februar 2004 - 10:20 #9
hovsa ... du skal også lave en 'id' attribut på din select:

Response.write "<Select size= '10' name ='valg1' id='valg1' onclick = opdater() >"

/nute
Avatar billede nute Nybegynder
03. februar 2004 - 10:24 #10
hovsa nummer 2 ... du skal også have med 'value' til sidst i dit java script:

parent.frames[1].location.href = 'menu2.asp?valg1=' + document.getElementById('valg1').options[ document.getElementById('valg1').selectedIndex ].value;

/nute
Avatar billede janbangm Nybegynder
03. februar 2004 - 10:36 #11
Du må undskylde. På side2 bliver valg1 = [object]

function opdater()

{
parent.frames[1].location.href = 'menu2.asp?valg1=' + document.getElementById('valg1').options[ document.getElementById('valg1').selectedIndex ];
}


</script>
</head>
<body>
<%
Dim objconn, objrs, strQ   
Set objConn= Server.Createobject("adodb.Connection")

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\inetpub\wwwroot\rammeside\Helpdeksk.mdb;"
sql = "SELECT Kode, Tekst, Len([kode]) AS Udtryk1 FROM menutabel WHERE (((Len([kode]))=1)) ORDER BY Kode;"

SET OBJRS = objConn.execute(sql)
onse.write "<Select size= '10' name ='valg1' id='valg1' onclick = opdater() >"


while not objrs.eof
' parent.frames[1].location.href = 'menu2.asp';
Response.write "<option>" & objrs("Tekst") & "</Option>"
objrs.movenext
Wend
%>
</SELECT>
</body>
Avatar billede janbangm Nybegynder
03. februar 2004 - 10:40 #12
Hvad ikke set dit sidste indlæg. Nu er variablen tom
Avatar billede nute Nybegynder
03. februar 2004 - 10:43 #13
det er jo fordi du ikke sætter en value på din option:

Response.write "<option value=""" & objrs("Tekst") & """>" & objrs("Tekst") & "</Option>"

/nute
Avatar billede janbangm Nybegynder
03. februar 2004 - 10:48 #14
Tak skal I have. Det blev nute løsning jeg brugte.

Nute vil du sende et svar
Avatar billede nute Nybegynder
03. februar 2004 - 10:49 #15
svar
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
Kurser inden for grundlæggende programmering

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