/ 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
Test af værdi i Hidden felt
Fra : Jørgen Müller


Dato : 02-12-02 22:08

Hej Gruppe

Fra Links.asp sender jeg enten mode=Update eller mode=Ny videre til
LinkForm.asp, og det virker fint.
I LinkForm.asp bliver værdien overført til <Input Type="Hidden"
Value=Request.QeryString("mode")
Name="mode">
Det er så meningen at man skal kunne teste på værdien i AddLinks.asp sådan
her

If Request.Form("mode") = "Ny" Then

Men det virker ikke, da ovenstående altid er falsk uanset hvad der står i
Request.Form("mode") eller om der står noget overhovedet.

Har prøvet med forskellige værdier i Request.Form uden at det er lykkedes at
opnå det ønskede resultat.
Har også prøvet med mode = Request.Form("mode") og så teste på den værdi
samt prøvet med Cstr uden det ønskede resultat. Er helt sikker på hvad
Request.Form("mode") indeholder da jeg skriver den ud hver gang.

Nogen der kan hjælpe?

--
Med Venlig Hilsen

Jørgen Müller



 
 
Ras (02-12-2002)
Kommentar
Fra : Ras


Dato : 02-12-02 22:10


"Jørgen Müller" <j.muller@mail.tele.dk> skrev i en meddelelse
news:asgi2p$4us$1@sunsite.dk...
> Hej Gruppe
>
> Fra Links.asp sender jeg enten mode=Update eller mode=Ny videre til
> LinkForm.asp, og det virker fint.
> I LinkForm.asp bliver værdien overført til <Input Type="Hidden"
> Value=Request.QeryString("mode")
> Name="mode">
> Det er så meningen at man skal kunne teste på værdien i AddLinks.asp sådan
> her
>
> If Request.Form("mode") = "Ny" Then
>
> Men det virker ikke, da ovenstående altid er falsk uanset hvad der står i
> Request.Form("mode") eller om der står noget overhovedet.
>
> Har prøvet med forskellige værdier i Request.Form uden at det er lykkedes
at
> opnå det ønskede resultat.
> Har også prøvet med mode = Request.Form("mode") og så teste på den værdi
> samt prøvet med Cstr uden det ønskede resultat. Er helt sikker på hvad
> uest.Formmode") indeholder da jeg skriver den ud hver gang.

Forskellen på Request.Form og Request.QeryString er om du bruger "post"
eller "get" i din "method"


- Ras.



Jørgen Müller (02-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 02-12-02 22:22

Hej Ras
>Forskellen på Request.Form og Request.QeryString er om du bruger "post"
>eller "get" i din "method"
Det ved jeg godt og jeg bruger post, derfor også koden Request.Form i
AddLinks.asp og værdien af Request.Form("mode") bliver skam overført rigtig
nok, da
Response.Write Request.Form("mode") giver værdien Ny eller Update, men
hvorfor kan jeg så ikke få
If Request.Form("mode") = "Ny" til at være sand når ovenstående skriver Ny.
--
Med Venlig Hilsen

Jørgen Müller



Ras (02-12-2002)
Kommentar
Fra : Ras


Dato : 02-12-02 22:29


> If Request.Form("mode") = "Ny" til at være sand når ovenstående skriver
Ny.

Har du prøvet If Request.Form("mode") = Ny (altså ingen gnyffer - hvilket
sikkert fejler)

Jeg ville selv vælge en Select Case udagve af det der...*ss*...men ellers så
prøv lige at fange den først:

varStreng = Request.Form("mode")

og så:

If varStreng = "Ny" Then

dfgadsfga

elseif varStreng = "Update" Then

s<dfsad

end if

Måske...??

- Ras.



Jørgen Müller (02-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 02-12-02 22:38

Hej Ras

>varStreng = Request.Form("mode")
>
>og så:
>
>If varStreng = "Ny" Then
Ja det har jeg prøvet selv om jeg kaldte variablen for mode. Du har ret med
Ny, det giver en fejl og "'Ny'"
giver 'Ny' i output, så det virker heller ikke. Det eneste der er lykkedes
er hvis jeg skriver
mode = Request.Form("mode")
og så tester If Request.Form("mode") = mode
så er den sand, ikke så underligt.

>Jeg ville selv vælge en Select Case udagve af det der...*ss*...
Er ikke enig for jeg tester kun på een værdi, for skal posten ikke tilføjes
rs.AddNew så er det en post der bliver opdateret. Der er kun de to
muligheder.

--
Med Venlig Hilsen

Jørgen Müller



Jens Gyldenkærne Cla~ (02-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-12-02 23:04

Jørgen Müller skrev:

>>If varStreng = "Ny" Then
> Ja det har jeg prøvet selv om jeg kaldte variablen for mode.

Hvordan så din kode ud dér?

> Det eneste der er lykkedes er hvis jeg skriver
> mode = Request.Form("mode")
> og så tester If Request.Form("mode") = mode
> så er den sand, ikke så underligt.

Hvad giver "Response.write mode" her?

Jeg gætter på at det giver problemer at du laver flere gange
Request.Form("mode"). Prøv (hvis du ikke allerede har gjort det) at
hente værdien én gang:
   Dim mode
   mode = Request.Form("mode")
....og brug herefter kun indholdet i mode til at teste på og skrive
ud.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørgen Müller (02-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 02-12-02 23:31

Hej Jens

>Hvordan så din kode ud dér?
mode = Request.Form("mode") - giver Ny, så variablen bliver overført rigtig.
If mode = "Ny" Then
kode der tilføjer en ny post
Else
kode der opdaterer en nuværende post
End If
Laver et HIDDEN felt værdien om? tænker på er det en tekststreng der kommer
ud?
har også prøvet med mode = Cstr(Request.Form("mode")) med samme resultat.
Men den bliver skrevet ud som Ny med Response.Write mode

>Jeg gætter på at det giver problemer at du laver flere gange
>Request.Form("mode"). Prøv (hvis du ikke allerede har gjort det) at
>hente værdien én gang:

Det startede jeg med ved at skrive If Request.Form("mode") = "Ny" Then
Uanset hvad variablen indeholder kan jeg ikke få det til at give sand.
Har også prøvet at overføre <A HREF "LinkForm.asp?mode="></A>
og så teste med If Request.Form("mode") = "" Then, samt
If IsNull(Request.Form("mode")) Then stadig med samme resultat at den giver
falsk
Kan det virkelig være rigtigt, at man ikke kan teste på en tekst overført
med et hidden felt og post?
--
Med Venlig Hilsen

Jørgen Müller



Jørgen Müller (02-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 02-12-02 23:51

Hej igen

Glemte lige at fortælle, at hvis jeg fra Links.asp sender en <A
HREF="LinksForm.asp?mode=update"></A> og i LinksForm.asp tester
If Request.QueryString("mode") = "update" Then
så virker det som det skal, men når variablen bliver sendt videre med et
HIDDEN felt til AddLinks.asp og testen så bliver udført i AddLinks.asp så
virker det ikke?

--
Med Venlig Hilsen

Jørgen Müller



Jens Gyldenkærne Cla~ (03-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-12-02 00:09

Jørgen Müller skrev:

> Har også prøvet at overføre <A HREF "LinkForm.asp?mode="></A> og
> så teste med If Request.Form("mode") = "" Then, samt If
> IsNull(Request.Form("mode")) Then stadig med samme resultat at
> den giver falsk

Se det er jo ikke så underligt.

Hvis du bruger querystring til at overføre variable (som fx i <a
href="LinkForm.asp?mode=blabla">) skal du også benytte querystring
til at aflæse dem:

   Dim mode
   mode = Request.QUERYSTRING("mode")

> Kan det virkelig være rigtigt, at man ikke kan teste på en
> tekst overført med et hidden felt og post?

Du overfører ikke med post i eksemplet ovenfor.
Hvis du er i tvivl om hvad der ligger i Request-objektet, så prøv
følgende debugkode:

<hr>
<b>Debug-info</b><br>
<p>Querystring indeholder: <%= Request.Querystring() %></p>
<p>Form indeholder: <%= Request.Form() %></p>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørn Andersen (03-12-2002)
Kommentar
Fra : Jørn Andersen


Dato : 03-12-02 03:56

On Mon, 2 Dec 2002 22:07:37 +0100, "Jørgen Müller"
<j.muller@mail.tele.dk> wrote:

>Fra Links.asp sender jeg enten mode=Update eller mode=Ny videre til
>LinkForm.asp, og det virker fint.
>I LinkForm.asp bliver værdien overført til <Input Type="Hidden"
>Value=Request.QeryString("mode")
>Name="mode">

Her går det galt:
<input type="hidden" value="<%
Response.Write Request.QueryString("mode")
%>" name="mode">

- der skal skiftes til "ASP-mode" (med <% %>) + der skal anførselstegn
om value-værdien

Good luck!

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

Jørgen Müller (03-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 03-12-02 20:15

Hej Gruppe
Jørgen Müller skrev:
>Fra Links.asp sender jeg enten mode=Update eller mode=Ny videre til
>LinkForm.asp, og det virker fint.
>I LinkForm.asp bliver værdien overført til <Input Type="Hidden"
>Value=Request.QeryString("mode")
>Name="mode">
>Det er så meningen at man skal kunne teste på værdien i AddLinks.asp sådan
>her
>If Request.Form("mode") = "Ny" The
>Men det virker ikke, da ovenstående altid er falsk uanset hvad der står i
>Request.Form("mode") eller om der står noget overhovedet.
----------------Snip

Nu har jeg lavet nogle flere test, og det har udmøntet sig i 3 asp sider,
hvor resultatet er det samme som ovenstående, samt en ny kode til
LinksForm.asp der giver det rigtige resultat:
I er meget velkomne til at afprøve eksemplet.

-----Links.asp--------
<HTML>
<BODY>
<P align="center"><A HREF="LinksForm.asp?mode=Ny">Tilføj link</A></P>
<P align="center"><A HREF="LinksForm.asp?mode=Rediger">Rediger</A></P>
</BODY>
</HTML>

-----AddForm.asp----
<HTML>
<BODY>
Værdien af Request.QueryString er: <%=Request.QueryString("Mode") %>
<Form ACTION="AddLinks.asp" Method="post">
<INPUT TYPE="hidden" NAME="Mode" Value="<%= Request.QueryString("mode") %>
">
<INPUT TYPE="Submit" VALUE="Send">
</FORM>
</BODY>
</HTML>
-----AddLinks.asp----
<%
If Request.Form("Mode") = "Ny" Then
Response.Write "Ny"
Else
Response.Write "Ikke Ny " & Request.Form("Mode")
End If
%>
----------------------------------------------------------
Vil altid gå ned i Else delen og udskrive Ikke Ny Ny (Rediger)

Hvis du derimod laver en ny AddForm.asp med følgende kode

-----AddForm.asp----
<HTML>
<BODY>
Værdien af Request.QueryString er: <%=Request.QueryString("Mode") %>
<Form ACTION="AddLinks.asp" Method="post">
<%
If Request.Querystring("mode") = "Ny" Then
Response.Write "<INPUT TYPE=hidden NAME=Mode VALUE=Ny>"
Else
Response.Write "<INPUT TYPE=hidden NAME=Mode VALUE=Rediger>"
End If
%>
<INPUT TYPE="Submit" VALUE="Send">
</FORM>
</BODY>
</HTML>

så virker det?
kommentarer/forklaring er meget velkommen.

--
Med Venlig Hilsen

Jørgen Müller



Jørgen Müller (03-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 03-12-02 20:21

Hej Gruppe
>Hvis du derimod laver en ny AddForm.asp med følgende kode
er selvfølgelig noget vrøvl, for den skal hedde LinksForm.asp som refereret
i
>-----Links.asp--------
><HTML>
><BODY>
><P align="center"><A HREF="LinksForm.asp?mode=Ny">Tilføj link</A></P>
><P align="center"><A HREF="LinksForm.asp?mode=Rediger">Rediger</A></P>
></BODY>
></HTML>

undskyld.
--
Med Venlig Hilsen

Jørgen Müller



Jens Gyldenkærne Cla~ (03-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-12-02 22:51

Jørgen Müller skrev:

> I er meget velkomne til at afprøve eksemplet.

Det ville være let hvis du havde en side vi kunne prøve det på.

> <P align="center"><A HREF="LinksForm.asp?mode=Ny">

Her kalder du linksform.asp

> -----AddForm.asp----

Lige for en sikkerheds skyld - var AddForm.asp en skrivefejl her,
eller har du både en AddForm og en LinksForm på serveren?

> <%=Request.QueryString("Mode") %>

Hvad skriver den når du har klikket på "tilføj ny"?

> <Form ACTION="AddLinks.asp"
> Method="post"> <INPUT TYPE="hidden" NAME="Mode" Value="<%=
> Request.QueryString("mode") %> ">

Hvis du vil være helt sikker på hvad inputfeltet indeholder kan du
vælge vis kilde når du har siden oppe. Find ovenstående linjer og
se hvad der er indsat under value.


> -----AddLinks.asp----

> Else
> Response.Write "Ikke Ny " & Request.Form("Mode")
> End If
> %>
> ----------------------------------------------------------
> Vil altid gå ned i Else delen og udskrive Ikke Ny Ny
> (Rediger)

Så sender du åbenbart værdien "Ny (Rediger)" i din querystring.
Hvordan ser det ud i browserens adressefelt?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørgen Müller (03-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 03-12-02 23:58

Jens Gyldenkærne Clausen skrev

>Det ville være let hvis du havde en side vi kunne prøve det på.

Det er så lavet på http://www.smaabaadsklub.dk/Links.asp
Det er en meget simpel test der ikke laver noget som helst men kun tester om
værdien af hidden feltet mode
er sandt eller falsk når det bliver sendt til AddLinks.asp
dog uden den store dokumentation, men den står jo i forrige indlæg.

>Så sender du åbenbart værdien "Ny (Rediger)" i din querystring.
Jeg sender enten værdien Ny eller værdien Rediger af sted i en QueryString,
for at kunne teste
om det er et nyt link, eller et eksisterende der er blevet ændret.
Rediger bruges i LinksForm.asp til at indlæse værdierne fra databasen så der
kan redigeres i dataene.

--
Med Venlig Hilsen

Jørgen Müller



Jens Gyldenkærne Cla~ (04-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-02 00:11

Jørgen Müller skrev:

>>Det ville være let hvis du havde en side vi kunne prøve det
>>på.
>
> Det er så lavet på http://www.smaabaadsklub.dk/Links.asp

Perfekt. Her er hvad der kommer til at stå i det skjulte felt mode
ved klik på tilføj (1):

<INPUT TYPE="hidden" NAME="Mode" Value="Ny
">

Jeg kan ikke præcis se hvorfor linjeskiftet kommer, men det er der
også hvis man klikker rediger:

<INPUT TYPE="hidden" NAME="Mode" Value="Rediger
">

Du har tilsyneladende et linjeskift placeret i din response.write-
kode på linksform.asp.

Fejlen er nem at finde når man kan prøve filerne online.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørgen Müller (04-12-2002)
Kommentar
Fra : Jørgen Müller


Dato : 04-12-02 08:14

Jens Gyldenkærne Clausen skrev
>Fejlen er nem at finde når man kan prøve filerne online.

Tak for hjælpen, og igen blev jeg klogere for jeg havde ikke lige tænkt på
at aflæse online?

--
Med Venlig Hilsen

Jørgen Müller



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste