Just nu i M3-nätverket
Gå till innehåll

Formulär @ ASP


Jonte7

Rekommendera Poster

Jag har ett problem... Jag ska ha ett formulär där man t.ex. skriver in 12 och då vidarebefodras till sida12.html

 

>>----------<<

Denna kod fungerar inte, vad är det för fel?

 

<%

Dim stekos

stekos=Request.Form(stekos)

stekos=Trim(stekos)

If stekos="1"Then

Response.Redirect("test1.shtml")

If stekos="23"Then

Response.Redirect("test2.shtml")

Else

Respond.Redirect("fel.shtml")

End If

%>

Länk till kommentar
Dela på andra webbplatser

Förrutom att du har skrivit Respond istället för response i sista satsen så ska du ha Response.Buffer=TRUE överst på sidan.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Tja, det är bara att testa.Ev kanske du får ändra radena till något liknande:

If stekos=1Then

eller If CStr(stekos) = "1"Then

De förutsäter ju också att du gjort rätt när du skickar information från föregående sida.

 

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ledsen... men jag fick det inte att fungera...

Här är dock ett som fungerar.. men det innehåller bara ett kommando.. hur läggar jag in 2 eller 3 eller 4 eller t.o.m. 5?

 

<%

Dim stekos

'--------------------------------------------

stekos=Request.Form("stekos")

stekos=Trim(stekos)

'Länk1---------------------------------------

If stekos="kommando"Then

Response.Redirect("test1.shtml")

Else

Response.Redirect("fel.shtml")

End If

'Slut länk-----------------------------------

%>

 

 

 

[inlägget ändrat 2001-08-16 17:42:20 av Jonte7 ]

Länk till kommentar
Dela på andra webbplatser

Tja. Ta och testa skriv in Response.Write Stekos

vid länk 1 så du kan se vad som kommer till sidan, när du har väljer olika alternativ

 

 

 

Länk till kommentar
Dela på andra webbplatser

Saxar från ett av mina program:

<BODY>

<%
'SkrivErr "User " & Session(" LoginID")  

'If Session("UserLevel") =5 Then

Select Case Request("NextProv")

  	Case "Nästa prov"
	NyttProv
	VisaInmatning
	Session("SearchID") = 0 
	Session("SearchProv") = FALSE
%>
<SCRIPT LANGUAGE="VBScript">
	Form1.Mnum.focus
</SCRIPT>
<%
  	 Case "Visa värden"
	' Skriv ut prov res på skärmen

%>
	<SCRIPT LANGUAGE="VBScript">
		window.location.href = "http://rdfunet/KS/KSS/Fukt/VisaRes.asp?SearchNo=0"
	</SCRIPT>
<%
Case "Starta ny"
	'VisaInmatning
	NyLista
Case "Sökning"
%>
	<SCRIPT LANGUAGE="VBScript">
		window.location.href = "http://rdfunet/KS/KSS/Fukt/SökRes.asp"
	</SCRIPT>
<%

Case Else
	VisaInmatning
	%>
	<SCRIPT LANGUAGE="VBScript">
		Form1.Proj.focus
	</SCRIPT>
	<%
End Select
'End If

%>

</BODY>

Du kan ju alltid göra något liknande som jag gjort...

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Fattade inget av det du skrev ovan... det bara snurrade i huvudet....

Jag satte in If CStr(stekos) = "1"Then

 

Men det fungerar fortfarande med 2 länkar (kommandon) :(

 

 

<%

Dim stekos

'--------------------------------------------

stekos=Request.Form("stekos")

stekos=Trim(stekos)

'Länk1---------------------------------------

If CStr(stekos) = "1"Then

Response.Redirect("test1.shtml")

Else

Response.Redirect("fel.shtml")

End If

'Slut länk-----------------------------------

%>

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

<%
Dim stekos
stekos=Request.Form(stekos)
Select Case CStr(Stekos)
Case "1"
 Response.Redirect("test1.shtml")
Case "23"
 Response.Redirect("test2.shtml")
Case Else
 Response.Redirect("fel.shtml")
End Select
%>

Vill du ha ett alvternativ för "45" så lägger du helt enkelt in en ny Case sats, typ

Case "45"

Response.Redirect("Test45.shtml")

före Case Else satsen.

Sedan om det inte fungerar så lägg in

Response.Write Stekos

före Select Case satsen för att se om stekos verkligen är 1,23, 45 eller något annat.

 

Länk till kommentar
Dela på andra webbplatser

Sorry, men det fungerade inte :(

<!------>

Request-objekt fel 'ASP 0102 : 80004005'

 

Väntar på stränginmatning

 

/test/stekos.asp, rad 3

 

Funktionen förväntar sig en sträng som inmatning.

<!----->

Sen så ser formuläret ut såhär:

 

<!----------->

<form method="post" action="stekos.asp" name="formular">

<!------------Skriver jag stekos istället för formular så fungerar det inte heller :(^^^^^^^^------->

 

<p>

 

<input maxlength="100" type="text" name="stekos" size="110" value="/" style="color: gray; font-family: terminal, System, Verdana, Helvetica; font-size: 9pt; border: 1px solid #000000; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; background-color: #000000">

<input type="submit" value="," class="knapp" style="color: #000000; border: 1px solid #000000; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; background-color: #000000" name="submit">

</p>

</form>

<!---------->

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det står

 

Request-objekt fel 'ASP 0102 : 80004005'

 

Väntar på stränginmatning

 

/test/stekos.asp, rad 3

 

Funktionen förväntar sig en sträng som inmatning.

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ahaa, här är hela koden...

 

<%

Dim stekos

stekos=Request.Form(stekos)

Select Case CStr(Stekos)

Case "1"

Response.Redirect("test1.shtml")

Case "23"

Response.Redirect("test2.shtml")

Case Else

Response.Redirect("fel.shtml")

End Select

%>

 

 

 

Länk till kommentar
Dela på andra webbplatser

Har du inte mer kod på sidan?

Det bör nog finnas åt minstone denna kod:

<%OPTION EXPLICIT
Response.Buffer = True %>
<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<%
Dim stekos
stekos=Request.Form(stekos)
Select Case CStr(Stekos)
Case "1"
Response.Redirect("test1.shtml")
Case "23"
Response.Redirect("test2.shtml")
Case Else
Response.Redirect("fel.shtml")
End Select
%>
</BODY>
</HTML>

 

Länk till kommentar
Dela på andra webbplatser

Jonas Wikström

Nej se det där är inte bra!

 

Response.Redirect fungerar inget vidare om någon information innan kommandot skickats till Servern!

 

Uteslut alltid HTML kod innan Redirect funktionen!

 

Förresten som ni kanske vet är Response.Redirect en ganska långsam metod att använda sig av:

Försök i så lång utsträckning som möjligt går använda er (Och det borde funka finfint i detta exempel) av metoden Server.Transfer istället.

 

Hare fint!

 

>> Jonas

 

 

 

Länk till kommentar
Dela på andra webbplatser

Response.Redirect fungerar utmärk om man lägger in Response.Buffer= True innan HTML koden.

Annars kan man ju också använda sig av följande sats:

%>
		<META HTTP-EQUIV="REFRESH" CONTENT="3;URL=default.asp">
<%

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

För övrigt så står 3 an i exemplet ovan för hur många sekunder den ska vänta innan den hoppar till nästa sida, i exemplet default.asp

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Jag hade föreslår denna variant:

 

Dim sNewPage 

sNewPage = "test" & trim(request.form("stekos") &".html"

response.redirect sNewPage

 

vilket ger dig om stekos är 1 test1.html om stekos är 2 så får du test2.html osv osv osv

 

 

 

 

----------------------------------------

- Magnus

- Nemo Saltat Sobrius

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...