Avatar billede rbl Praktikant
21. oktober 2001 - 23:35 Der er 30 kommentarer og
1 løsning

Adgang til en forms variable

Jeg skal lave et script, der skal bruge variable i en form på samme side. F.eks. hvis jeg har en checkbox:

<input type=\"checkbox\" name=\"box1\" value=\"valgt\">

og jeg på samme side har et script, der skal kunne se, om checkboxen er \"checked\".

Hvordan gør jeg det ?
Avatar billede zed_one Praktikant
21. oktober 2001 - 23:43 #1
ved POST
<%
if request.form(\"box1\") =\"valgt\" then
response.write \"Yay\"
else
response.write \"bummer!\"
end if
%>

Ved GET

<%
if request(\"box1\") =\"valgt\" then
response.write \"Yay\"
else
response.write \"bummer!\"
end if
%>
Avatar billede zed_one Praktikant
21. oktober 2001 - 23:44 #2
nåe misforstod vist spørgsmålet
Avatar billede zed_one Praktikant
21. oktober 2001 - 23:45 #3
det skal vist løses med noget javascript lir...er jeg desværre ik for go til
Avatar billede crunch Nybegynder
21. oktober 2001 - 23:46 #4
det er bedre at bruge javascript. Fordi asp skal tilbage på serveren før du kan tjekke om der er klikket.

Du kan enten lave det i ren javascript eller du kan bruge javascriptet til at afvikle aspén så snart der klikkes.:


<html>
<body>
vil du bestille alt ?
<script language=\"javascript\">
function JustDoIt(){
if (document.test.knapnavn.checked){
alert (\"du har nu bestilt hele vores varebeholdning\");
}
}
</script>
<form name=\"test\" onclick=\"JustDoIt()\">
<input type=\"checkbox\" value=\"y\" name=\"knapnavn\">
</form>
</body>
</html>
Avatar billede zed_one Praktikant
21. oktober 2001 - 23:50 #5
hehe...\"just do it..du har nu bestilt hele vores varebeholdning\" hehehe
Avatar billede eagleeye Praktikant
21. oktober 2001 - 23:51 #6
i et jave script:

if document.FORMNAVN.box1.Checked == true
{
 
}
Avatar billede rbl Praktikant
22. oktober 2001 - 00:03 #7
ok, hvad nu hvis det er radioknapper ?

Radioknapper har samme navn, hvordan ser jeg så forskel på dem ?
Avatar billede zed_one Praktikant
22. oktober 2001 - 00:16 #8
ja så skal man vel ind og checke værdien på den tilhørene name (den får jo en værdi alt efter hvilken radio i en radio-gruppe der er vlagt)
Avatar billede zed_one Praktikant
22. oktober 2001 - 00:17 #9
men det lar jeg javascript folkene der om ;)
Avatar billede cliche Nybegynder
22. oktober 2001 - 01:31 #10
Det er det samme ved checkboxes og radioknapper
eller næsten, kommer også an på hvilken method du bruger

Men lad os nu bare sige at du bruger både get og post eller en af delene så henter vi informationerne
ud alligevel bare med request, istedet for request.form (method post) eller request.querystring (method get)

Radioknapper

<input type=\"radio\" value=\"henrik\" name=\"navn\">
<input type=\"radio\" value=\"bjarne\" name=\"navn\">
<input type=\"radio\" value=\"lise\" name=\"navn\">

Så gør du således for at finde indholdet og udskrive det

<%if request(\"navn\") = \"\" then
response.write \"intet valgt\"
else
navn = request(\"navn\")
response.write navn
end if%>

Du kan også tjekke for om det er noget desideret som er valgt

<%if request(\"navn\") = \"\" then
response.write \"intet valgt\"
else
navn = request(\"navn\")
if navn = \"henrik\" then
response.write \"henrik er for sej\"
else if navn = \"bjarne\" then
response.write \"bjarne er også sej\"
else if navn = \"lise\" then
response.write \"lise er lidt for lækker\"
end if
end if%>


Og det er faktisk det samme med checkboxes :)
Avatar billede cliche Nybegynder
22. oktober 2001 - 01:37 #11
med checkboxes lad os sige du har 3

<input type=\"checkbox\" name=\"box1\" value=\"valgt\">
<input type=\"checkbox\" name=\"box2\" value=\"valgt\">
<input type=\"checkbox\" name=\"box3\" value=\"valgt\">

så gør vi således i vores ASP

<%
if request(\"box1\") = \"\" then
response.write \"skal huske at checke box1\"
else
box1 = request(\"box1\")
response.write box1
end if

if request(\"box2\") = \"\" then
response.write \"skal huske at checke box2\"
else
box2 = request(\"box2\")
response.write box2
end if

if request(\"box3\") = \"\" then
response.write \"skal huske at checke box3\"
else
box3 = request(\"box3\")
response.write box3
end if
%>
Avatar billede rbl Praktikant
22. oktober 2001 - 01:38 #12
cliche:
er du sikker på det virker, når det er på den samme side ?

Jeg tror du har misforstået spørgsmålet... :-)
Avatar billede cliche Nybegynder
22. oktober 2001 - 01:41 #13
Nej det virker hvis det er på samme side :)
du skal bare huske at ha asp\'en oven over og lige lave en lille check for om der er submittet, men lad mig kigge på det smid koden, og jeg fikser den lige :9
Avatar billede rbl Praktikant
22. oktober 2001 - 01:52 #14
Det er en rimelig stor side, men det er nogenlunde noget i denne stil:

<head>
<script>
function forward()
{
if (navn == nr1){document.form1.action=\"1.asp\"}
...
...
} 
</script>
</head>
<body>
<form name=\"form1\" method=\"get\" action=\"\">
<input type=\"radio\" name=\"navn\" value=\"nr1\">
<input type=\"radio\" name=\"navn\" value=\"nr2\">
<input type=\"radio\" name=\"navn\" value=\"nr3\">
<input type=\"submit\" value=\"show\" name=\"submit\" onclick=\"forward()\">
</form>
</body>
Avatar billede cliche Nybegynder
22. oktober 2001 - 01:55 #15
hvad skal den javascript kode til for, og hvad skal ASP\'et tjekke for
Avatar billede rbl Praktikant
22. oktober 2001 - 01:59 #16
Alt efter hvilken radioknap, der er valgt, skal formens \"Action\" ændres.
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:03 #17
OK forklar lige lidt mere, det villle være nemmere at lave det hele i ASP jo, og js er ikke mit helt store
Avatar billede rbl Praktikant
22. oktober 2001 - 02:09 #18
Ok, jeg har en form med mange forskellige input (checkboxe, radioknapper m.m.). På siden er der 3 radioknapper, der afgør hvilken side alle variablerne sendes til, når der trykkes på submit.

F.eks:
hvis radioknap1 er valgt, skal siden man går til (når man trykker på submit) være 1.asp
hvis radioknap2 er valgt, skal det så være 2.asp
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:10 #19
ok gotcha
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:21 #20
er ikke testet men prøv alligevel :)

<%
If Request.QueryString(\"check\") Then
varFejl = false
End If
%>

<head>
</head>
<body>
<form name=\"form1\" method=\"get\" action=\"dinside.asp\">
<%
If Request.QueryString(\"navn\") = \"\" Then
Response.Write \"Husk at vælge en knap\"
varFejl = true
Else
varNummer = Request.QueryString(\"navn\")
Response.Redirect varNummer & \".asp\"
End If
%>
<input type=\"radio\" name=\"navn\" value=\"1\">
<input type=\"radio\" name=\"navn\" value=\"2\">
<input type=\"radio\" name=\"navn\" value=\"3\">
<input type=\"hidden\" name=\"check\" value=\"true\">
<input type=\"submit\" value=\"show\" name=\"submit\">
</form>
</body>
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:22 #21
har ændret dine radio values til 1,2,3 istedet for nr1,2,3 da der ellers skal ind og laves lidt mere kode :)
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:24 #22
nu skal den fil bare hedde dinside.asp eller du skal ændre den i action, vi skal jo kunne tjekke inputsne og det kan vi ikke uden at sende siden afsted et eller andet sted :)
ASP koden sørger for at sende brugeren til det som vedkommende nu har valgt
Avatar billede rbl Praktikant
22. oktober 2001 - 02:29 #23
den går altid ind på \"dinside.asp\" og ikke \"1.asp\", \"2.asp\" og \"3.asp\"
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:30 #24
aight laver lige en anden en så
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:35 #25
<%

If Request.QueryString(\"check\") = \"true\" then
varNummer = Request.QueryString(\"navn\")
Response.Redirect varNummer & \".asp\"
Else If Request.QueryString(\"check\") = \"\" Then
Response.Write \"Husk at vælge en knap\"
End If

%>
<head>
</head>
<body>
<form name=\"form1\" method=\"get\" action=\"dinside.asp\">
<input type=\"radio\" name=\"navn\" value=\"1\">
<input type=\"radio\" name=\"navn\" value=\"2\">
<input type=\"radio\" name=\"navn\" value=\"3\">
<input type=\"hidden\" name=\"check\" value=\"true\">
<input type=\"submit\" value=\"show\" name=\"submit\">
</form>
</body> 
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:38 #26
Ellers er jeg sku mere stiv end jeg skulle være ;)
Avatar billede rbl Praktikant
22. oktober 2001 - 02:49 #27
jeg kan slet ikke se, hvordan dette skulle kunne løse problemet. Lige meget hvad, vil man komme hen til \"dinside.asp\", når man trykker på submit.
Avatar billede cliche Nybegynder
22. oktober 2001 - 02:53 #28
LOL du prøvede altså slet ikke den første, den side hvor du har alle de radioknapper skal bare være den som står i din action, så laver scriptet den her
Response.Redirect varNummer & \".asp\"

hvor varNummer er det nummer som er valgt og .asp er dokumentet

prøv at lave action i de eks. om til det selve siden hedder og så se løjer :)
Avatar billede eagleeye Praktikant
22. oktober 2001 - 08:21 #29
Avatar billede rbl Praktikant
26. oktober 2001 - 18:46 #30
Jeg fik lavet det på en anden måde
Avatar billede cliche Nybegynder
26. oktober 2001 - 19:22 #31
vil du dele det med os
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