/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ASP shop
Fra : Rune Thougaard


Dato : 28-06-03 22:26

http://www.dalgaards.dk/shopen/side1.asp

hvordan laver jeg sådan en lille box hvor man selv kan skrive en lille
kommentar i....??

hvordan gør jeg sådan at hvis jeg sætter et fluge-ben i en af felterne at
det så kun er den der bliver vist på den næste side..??

mvh. Rune Thougaard
--
http://www.vinperlen.dk
http://www.hh-indretning.dk
http://www.dalgaards.dk
MSN: rune@vinperlen.dk



 
 
Jørn Andersen (29-06-2003)
Kommentar
Fra : Jørn Andersen


Dato : 29-06-03 02:40

On Sat, 28 Jun 2003 23:26:12 +0200, "Rune Thougaard"
<rune@vinperlen.dk> wrote:

>http://www.dalgaards.dk/shopen/side1.asp
>
>hvordan laver jeg sådan en lille box hvor man selv kan skrive en lille
>kommentar i....??

Mener du en textbox?
Så er det egentlig ikke et ASP-spørgsmål ... men skriv fx:
<TEXTAREA name="thetext" rows="5" cols="20">
Hvis der skal være en default-tekst, så skrives den her</TEXTAREA>

Se evt. HTML 4.01-rekommandationen:
<url: http://www.w3.org/TR/html4/interact/forms.html#edef-TEXTAREA>
- eller en måske lidt lettere fordøjelig udgave på html.dk:
<url: http://www.html.dk/dokumentation/html4/tags/textarea/>

>hvordan gør jeg sådan at hvis jeg sætter et fluge-ben i en af felterne at
>det så kun er den der bliver vist på den næste side..??

Som du har det nu, står der fx:
<input type="checkbox" name="2001-1">

Hvis du sætter value til fx true:
<input type="checkbox" name="2001-1" value="true">

- og henter værdien med:
If Request.Form("2001-1") = "true" Then
   bln20011 = True
Else
   bln20011 = False
End If

- så kan du bruge variablen bln20011 til at bestemme, om der skal
udskrives eller ej:
If bln 20011 Then
Response.Write "1 fl. rødvin fra 2002"
End If

Good luck!

--
Jørn Andersen,
Brønshøj

Rune Thougaard (29-06-2003)
Kommentar
Fra : Rune Thougaard


Dato : 29-06-03 09:02

> - og henter værdien med:
> If Request.Form("2001-1") = "true" Then
> bln20011 = True
> Else
> bln20011 = False
> End If
>
> - så kan du bruge variablen bln20011 til at bestemme, om der skal
> udskrives eller ej:
> If bln 20011 Then
> Response.Write "1 fl. rødvin fra 2002"
> End If


hvordan skal man skrive det op..??
f.eks.


<%

response.write("1 fl. rødvin fra 2002: " & request.form("2002-1") & "<br>")

If Request.Form("2001-1") = "true" Then
bln20011 = True
Else
bln20011 = False
End If

If bln 20011 Then
Response.Write "1 fl. rødvin fra 2002"
End If

response.write("3 fl. rødvin fra 2002: " & request.form("2002-3") & "<br>")

If Request.Form("2002-3") = "true" Then
bln20011 = True
Else
bln20011 = False
End If

If bln 20011 Then
Response.Write "3 fl. rødvin fra 2002"
End If

response.write("6 fl. rødvin fra 2002: " & request.form("2002-6") & "<br>")

If Request.Form("2001-6") = "true" Then
bln20011 = True
Else
bln20011 = False
End If

If bln 20011 Then
Response.Write "6 fl. rødvin fra 2002"
End If

%>


mvh. Rune Thougaard
--



Rune Thougaard (29-06-2003)
Kommentar
Fra : Rune Thougaard


Dato : 29-06-03 12:56

Var den ikke muligt at man kunne lave en lille box hvor brugeren selv kunne
skrive et tal mellem 0-99 på den måde kunne brugeren selv finde ud af hvor
maneg fl.vin han/hun ville købe...??


mvh. Rune Thougaard
--



Jørn Andersen (29-06-2003)
Kommentar
Fra : Jørn Andersen


Dato : 29-06-03 13:44

On Sun, 29 Jun 2003 13:56:23 +0200, "Rune Thougaard"
<rune@vinperlen.dk> wrote:

>Var den ikke muligt at man kunne lave en lille box hvor brugeren selv kunne
>skrive et tal mellem 0-99 på den måde kunne brugeren selv finde ud af hvor
>maneg fl.vin han/hun ville købe...??

Selvfølgelig - du skal blot ændre input-typen fra 'checkbox' til
'text'.

Good luck!

--
Jørn Andersen,
Brønshøj

Jørn Andersen (29-06-2003)
Kommentar
Fra : Jørn Andersen


Dato : 29-06-03 13:50

On Sun, 29 Jun 2003 10:02:10 +0200, "Rune Thougaard"
<rune@vinperlen.dk> wrote:

>hvordan skal man skrive det op..??
>f.eks.
><%
>
>response.write("1 fl. rødvin fra 2002: " & request.form("2002-1") & "<br>")
>
>If Request.Form("2001-1") = "true" Then
>bln20011 = True
>Else
>bln20011 = False
>End If
>
>If bln 20011 Then
> Response.Write "1 fl. rødvin fra 2002"
>End If

Nej, ideen er, at du skal lave en "test" på hvert enkelt input - så du
får 6 forskellige variable:
bln20011
bln20013
bln20016
bln20021
bln20023
bln20026

Altså:
1) Check om input fra formularen er "true"
- hvis ja, sættes variablen til True
- hvis nej, sættes den til falsk
2) Afhængigt af om den er sand eller falsk udskrives den relavnate af
flg. linier:
"1 fl. rødvin fra 2001"
"3 fl. rødvin fra 2001"
osv.


Good luck!

--
Jørn Andersen,
Brønshøj

Rune Thougaard (29-06-2003)
Kommentar
Fra : Rune Thougaard


Dato : 29-06-03 16:04

> >hvordan skal man skrive det op..??
> >f.eks.
> ><%
> >
> >response.write("1 fl. rødvin fra 2002: " & request.form("2002-1") &
"<br>")
> >
> >If Request.Form("2001-1") = "true" Then
> >bln20011 = True
> >Else
> >bln20011 = False
> >End If
> >
> >If bln 20011 Then
> > Response.Write "1 fl. rødvin fra 2002"
> >End If
>
> Nej, ideen er, at du skal lave en "test" på hvert enkelt input - så du
> får 6 forskellige variable:
> bln20011
> bln20013
> bln20016
> bln20021
> bln20023
> bln20026
>
> Altså:
> 1) Check om input fra formularen er "true"
> - hvis ja, sættes variablen til True
> - hvis nej, sættes den til falsk
> 2) Afhængigt af om den er sand eller falsk udskrives den relavnate af
> flg. linier:
> "1 fl. rødvin fra 2001"
> "3 fl. rødvin fra 2001"
> osv.


Vil du ikke nok lige lave et lille eksempel for mig... så jeg lige kan se
hvordan hvilken række følge det skal skrives i....

end til videre mange tak for hjælpen...!

mvh. Rune Thougaard
--



Jørn Andersen (29-06-2003)
Kommentar
Fra : Jørn Andersen


Dato : 29-06-03 17:34

On Sun, 29 Jun 2003 17:04:15 +0200, "Rune Thougaard"
<rune@vinperlen.dk> wrote:

>Vil du ikke nok lige lave et lille eksempel for mig... så jeg lige kan se
>hvordan hvilken række følge det skal skrives i....

Det kunne jeg sådan set godt, men jeg tror i virkligheden, at der hvor
det går galt er med at forstå, hvordan formularer virker, så prøv evt.
at tage et kig på:
<url: http://www.html.dk/tutorials/asp/lektion11.asp>

Prøv at kigge koden grundigt igennem og dan dig et billede af, hvordan
data kommer fra formularen og videre til den næste side - og hvordan
de så fanges på denne næste side og evt. bruges som input til
viderebehandling til denne side.

Desuden skal man lige tage højde for, at der er forskellige datatyper
(tal, tekst, boolske osv.)


(Når du har gjort det, så:)
Hvis vi tager udgangspunkt i din side1.asp:
<url: http://www.dalgaards.dk/shopen/side1.asp>
- eller rettere i den tidligere udgave med checkbox'e - så er en
checkbox jo en Boolsk værdi (den kan enten være on eller off og ikke
andet). Hvorimod din nuværende udgave (med type="text") jo kan
indeholde tekst af enhver slags.

Din side1.asp er der vist ikke noget i vejen med (hvis du vil bruge
mit eksempel, skal du lige rette tilbage til type="checkbox".) Fx:
<input type="checkbox" name="2001-1" value="true">

Når du trykker på Send-knappen, bliver data sendt til side2.asp - og
input fra form'en kan hentes med:
Request.Form("navnet_på_det_enkelte_felt") - i dette tilfælde altså
(hvis vi bruger dine "gamle" navne):
Request.Form("2001-1")
Request.Form("2001-3")
osv. indtil
Request.Form("2002-6")


Vi bruger disse input til at bestemme, om der skal udskrives eller ej.
Først laver vi 6 Boolsk'e variable - altså nogen som enten kan være
sande eller falske. Hvis vi får værdien "true" fra formularen, er det
fordi der er afkrydset - ellers vil den blot være Empty.

De 6 variable danner vi således:
If Request.Form("2001-1") = "true" Then
   bln20011 = True
Else
   bln20011 = False
End If
- bemærk: Der er ikke anførselstegn om True/False - det er ikke tekst,
men logiske værdier.

If Request.Form("2001-2") = "true" Then
   bln20012 = True
Else
   bln20012 = False
End If
- osv. indtil 2002-6


Disse 6 variable bruger vi så til at bestemme om der skal udskrives:
If bln20011 Then
Response.Write "1 fl. rødvin fra 2001"
End If
If bln20013 Then
Response.Write "3 fl. rødvin fra 2001"
End If
- osv. indtil:
If bln20026 Then
Response.Write "6 fl. rødvin fra 2002"
End If


Hvis vi til slut sætter det hele sammen, skulle det gerne blive noget
i retning af:
<%
' Først erklærer vi variablerne
Dim bln20011, bln20013, bln20016
Dim bln20021, bln20023, bln20026

' Så danner vi de boolske værdier
If Request.Form("2001-1") = "true" Then
   bln20011 = True
Else
   bln20011 = False
End If

If Request.Form("2001-3") = "true" Then
   bln20013 = True
Else
   bln20013 = False
End If

If Request.Form("2001-6") = "true" Then
   bln20016 = True
Else
   bln20016 = False
End If

If Request.Form("2002-1") = "true" Then
   bln20021 = True
Else
   bln20021 = False
End If

If Request.Form("2002-3") = "true" Then
   bln20023 = True
Else
   bln20023 = False
End If

If Request.Form("2002-6") = "true" Then
   bln20026 = True
Else
   bln20026 = False
End If


' Så laver vi betinget udskrivning:
If bln20011 Then
Response.Write "1 fl. rødvin fra 2001<br />" & vbcrlf
End If

If bln20013 Then
Response.Write "3 fl. rødvin fra 2001<br />" & vbcrlf
End If

If bln20016 Then
Response.Write "6 fl. rødvin fra 2001<br />" & vbcrlf
End If

If bln20021 Then
Response.Write "1 fl. rødvin fra 2002<br />" & vbcrlf
End If

If bln20023 Then
Response.Write "3 fl. rødvin fra 2002<br />" & vbcrlf
End If

If bln20026 Then
Response.Write "6 fl. rødvin fra 2002<br />" & vbcrlf
End If
%>

Efterskrift:
Nu vil den snu sikkert indvende: Hvorfor ikke lave det hele i én
smøre? - og samtidig spare alle variablerne - som fx:

If Request.Form("2001-1") = "true" Then
Response.Write "1 fl. rødvin fra 2001<br />" & vbcrlf
End If

eller:
If CBool(Request.Form("2001-1")) Then
Response.Write "1 fl. rødvin fra 2001<br />" & vbcrlf
End If

Det kunne man for så vidt også sagtens. Jeg har bare forsøgt at være
lidt ekstra "pædagogisk" ved at vise, at man ofte har behov for at
validere sit input. Eller man skal måske bruge sit input flere gange -
eller blot længere nede i scriptet. Og så er det rart at have dem i
nogle variable frem for igen og igen at skulle hente dem fra
Request.Form ...

Håber det gav lidt mere mening.
Hvis du vil bruge et tekstfelt til at skrive antal i (hvilket er meget
fornuftigt), så skal du lave en inputvalidering, som checker, at det
er et tal, der er skrevet og ikke et eller flere bogstaver.
En sikrere metode vil selvfølgelig være en select-box.

>end til videre mange tak for hjælpen...!

Velbekomme!

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste