webForumDet fria alternativet
Logga in / Bli medlem

Javascript - ASP

ASP

18 svar · 744 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#1

Hej igen!

Detta skript funkar på en .html sida men inte på en .asp, går det kanske att göra några förändringar för att få det att fungera?

				 
<FORM NAME="menyn">
<SELECT NAME="meny">
<OPTION VALUE="sida1.shtml">[Välj länk]
<OPTION VALUE="sida2.shtml">Sida 1
<OPTION VALUE="katalog/sida3.shtml">Sida 2
<OPTION VALUE="../../filer/index.shtml">Sida 3
<OPTION VALUE="sida4.html">Sida 4
<OPTION VALUE="sida5.asp">Sida 5
<OPTION VALUE="sida6.htm">Sida 6
<OPTION VALUE="Hem">musik
<OPTION VALUE="hem.htm">bild
</SELECT>
<INPUT TYPE="button" NAME="knapp" VALUE="Tryck här" onClick="self.location.href=document.menyn.meny.options[document.menyn.meny.selectedIndex].value;">
</FORM>

MVH Jesper

Medlem sedan juni 200032 967 inlägg
#2

Det har inte med denna kod att göra. Det spelar ingen roll att det är en asp-sida.

På vilket sätt fungerar det inte?

Hur ser den övriga koden ut?

Mvh,

Medlem sedan nov. 20017 144 inlägg
#3

Det är en asp sida med lite inbakad kod och länkarna ser ungefär ut som i "select" jag får ett felmeddelande som ser ut så här:

Tecken:1
fel: 'document.menyn.meny.options' är inte ett ojekt
Kod:0
Men om jag bara döper om sidan till sida.html istället för sida.asp så funkar det!

Medlem sedan nov. 20017 144 inlägg
#4

Är det för lite information på för att någon skall kunna svara på min fråga eller är det för klurig?

//Jesper

Medlem sedan mars 2001243 inlägg
#5

Felaktig information skulle jag vilja säga, denna kod ska inte på något sätt kunna orsaka att det blir fel när du lägger den i ASP-dokumentet! Vad som däremot kan vara felaktigt är den asp-kod du har i ditt dokument.

Medlem sedan nov. 20017 144 inlägg
#6

Ja, men sidan funkar ju utan javascriptet. Det jag vill ha är

<a href="default.asp?action=add&item=<% =rs("PrNum")%>&count=1">Lägg till</a>

Fast lägga till en selectlist där värdet i count kan ändras mellan 1 och 10. Men det kanske kan lösas på något annat sätt?!
Är det någon som har ett tips?

Mvh Jesper

Medlem sedan mars 2001243 inlägg
#7

Slängde ihop en liten kod, helt otestad, det som kan förbättras är filen redirect.asp där du kan kontrollera vad användaren matar in.

<FORM Method="POST" NAME="menyn" Action="redirect.asp">
<SELECT NAME="meny">
<OPTION VALUE="0" SELECTED>[Välj länk]
<%
Dim iRaknare
FOR iRaknare = 1 TO 10
Response.Write "<OPTION VALUE=""" & iRaknare & """>Sida" & iRaknare
iRaknare = iRaknare + 1
Next
%>
</SELECT>
<INPUT TYPE="submit" NAME="knapp" VALUE="Tryck här">
</FORM>

I file redirect.asp lägger du följande:

<%
Response.Buffer = TRUE

Dim strUrl
strUrl = "sida" & Request.Form("meny") & ".shtml"
Response.Redirect(strUrl)
%>
Medlem sedan nov. 20017 144 inlägg
#8

Tack, skall kolla om det funkar!

/MVH Jesper

Medlem sedan mars 2001243 inlägg
#9

Jag klantade mig, byt ut loopen så att koden ser ut så här.

<FORM Method="POST" NAME="menyn" Action="redirect.asp">
<SELECT NAME="meny">
<OPTION VALUE="0" SELECTED>[Välj länk]
<%
Dim iRaknare
iRaknare = 1
Do until iRaknare > 10
Response.Write "<OPTION VALUE=""" & iRaknare & """>Sida" & iRaknare
iRaknare = iRaknare + 1
Loop
%>
</SELECT>
<INPUT TYPE="submit" NAME="knapp" VALUE="Tryck här">
</FORM>
Medlem sedan nov. 20017 144 inlägg
#10

Var det " som du plockade bort, jag upptäckte det. Men iRaknare +1 ger ju varannan post!! Tog bort +1

Men hur plockar jag in dessa länkar där count=1 är värderna i iRaknare?
<a href="default.asp?action=add&item=<% =rs("PrNum")%>&count=1">

Medlem sedan mars 2001243 inlägg
#11

Ja så kan man ju oxå göra, är nog trög idag, tror dock att senare kod är bättre ;)

Svaret på din fråga:

<a href="default.asp?action=add&item=<% =rs("PrNum")%>&count=<%=iRaknare%>">

Förutsatt att koden ligger i LOOPen

Medlem sedan nov. 20017 144 inlägg
#12

Ähh, det är ju helt genialt ju!!
Funkar f-n så bra!

//JESPER

Medlem sedan nov. 20017 144 inlägg
#13

Bara skojjsade!!
Det funkar inte alls nu, värdet i iraknare är ju 11 nu och det skulle det ju inte vara!! Det skall ju vara beroende på selectlisten!

Medlem sedan mars 2001243 inlägg
#14

Fast om jag var dig skulle jag skriva så här istället:

<%
Dim iRaknare
iRaknare = 1
Do until iRaknare > 10
Response.Write "<a href="""default.asp?action=add&item=" & rs("PrNum") & "&count=" & iRaknare & """">"
iRaknare = iRaknare + 1
Loop
%>

Varför? Det är mer prestanda-snål eftersom du inte håller på att switcha mellan html och ASP i loopen!

Medlem sedan nov. 20017 144 inlägg
#15

Ja vet, men kan man inte lägga in länken i option i selectmenyn typ:

Response.Write "<OPTION VALUE="""default.asp?action=add&item= &rs("PrNum")&count=&iRaknare""">" & iRaknare

eller hur det nu blir?

Jesper

Medlem sedan mars 2001243 inlägg
#16

Varför gör du inte istället det i filen redirect där användaren skickas vidare?

<%
Response.Buffer = TRUE
Dim strSida
strSida = Request.Form("meny")
Response.Redirect "default.asp?action=add&item=" & rs("PrNum") & "&count=" strSida
%>
Medlem sedan nov. 20017 144 inlägg
#17

Inge kul!!

Nej då jag vet inte, och har fått för mig att jag måste göra på detta vis!

Men om jag väljer detta sätt hur ser koden ut då med select?

Medlem sedan nov. 20017 144 inlägg
#18

Ja, nu gör jag så här:

<%
Dim iRaknare
FOR iRaknare = 1 TO 10
Response.Write "<OPTION VALUE=""default.asp?action=add&item="& rs("PrNum")&"&count="& iRaknare &""">" & iRaknare
iRaknare = iRaknare
Next
%>

Och det ser ju rätt ut, men hur får jag med dessa värden med submitknappen?

[Redigerat av Jesper T den 13 jan 2002]

Medlem sedan nov. 20017 144 inlägg
#19

Nej, gick vi bet på det här nu?
Det går ju inte!!!

270 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)