Avatar billede wandaxp Praktikant
30. august 2001 - 11:55 Der er 18 kommentarer og
1 løsning

Active Forms

Jeg har lige et lille spørgsmål her, jeg er ved at oprette en søge side, og skal lave en form som er afhængig af hvad brugeren har valgt i det første felt....

<form method=\"POST\">
Type <select name=\"TYPE\" size=\"1\">
<option>Vælg Type her</option>
<option>Hårde hvidevarer</option>
<option>Belysning</option>
<option>El-apparater</option>
<option>El artikler</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%
if TYPE = Hårde hvidevarer then
  Response.write \"Kategori <select name=KATEGORI size=1>\"
  Response.write \"<option>Vælg først <B>Type</B></option>\"
  Response.write \"</select>\"
  ELSE
  if TYPE = Belysningthen
      Response.write \"Kategori <select name=KATEGORI size=1>\"
      Response.write \"<option>Vælg kategori</option>\"
      Response.write \"</select>\"
    ELSE
  o.s.v
%>
</form>

Hvordan får man det til automatisk at opsnappe, når de har valgt TYPE?
Avatar billede superdude Nybegynder
30. august 2001 - 12:18 #1
Det kan du ikke gøre på denne måde. Husk på at ASP\' en bliver genereret når siden hentes.
Brugeren vælger jo først  når siden er hentet.

Du skal have fat i noget JavaScript/clientside script, ellers bliver du nød til at kalde siden igen.
Avatar billede wandaxp Praktikant
30. august 2001 - 12:20 #2
Hvordan kan dette så gøres?
Avatar billede superdude Nybegynder
30. august 2001 - 12:24 #3
Når brugeren vælger type kalder du siden igen(du submitter formen til dinside.asp?type=brugervalg)

På siden skal du så have din if sætning som siger

if request(\"type\") = \"brugervalg\" then
ny menu genereres
end if
Avatar billede wandaxp Praktikant
30. august 2001 - 12:28 #4
Problemet er så her, at det skal foregå uden at brugeren skal klikke på nogen knapper, men når de i type boksen har valgt en af de 4 ounkter, selv skal submitte sig selv, og hvardan kan den gøre dette?
Avatar billede superdude Nybegynder
30. august 2001 - 12:32 #5
Igen noget Javascript.

Prøv med følgende i dine <option> tags:

onSelect=\"document.ditformnavn.submit()\"

Husk lige at give din form et navn
Avatar billede superdude Nybegynder
30. august 2001 - 12:34 #6
og din form skal naturligvis også have en action...

det kunne være action=\"&<%=request.serverVariables(\"SCRIPT_NAME\")%>&\"
Avatar billede wandaxp Praktikant
30. august 2001 - 13:01 #7
Du har ikke tilfældigvis en eksempel hvor dette er brugt, da jeg ikke lige er helt med på hvor det skal placeres?
Avatar billede superdude Nybegynder
30. august 2001 - 13:12 #8
Ok jeg prøver her:

<form name=\"form1\" action=\"&<%=request.serverVariables(\"SCRIPT_NAME\")%>&\" method=\"post\">

Type <select name=\"TYPE\" size=\"1\">
<option onSelect=\"document.form1.submit()\"
>Vælg Type her</option>
<option onSelect=\"document.form1.submit()\" value=\"a\">Hårde hvidevarer</option>
<option onSelect=\"document.form1.submit()\" value=\"b\">Belysning</option>
<option onSelect=\"document.form1.submit()\" value=\"c\">El-apparater</option>
<option onSelect=\"document.form1.submit()\" value=\"d\">El artikler</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%
if request(\"TYPE\")= \"a\" then
  Response.write \"Kategori <select name=KATEGORI size=1>\"
  Response.write \"<option>Vælg først <B>Type</B></option>\"
  Response.write \"</select>\"
end if 
%>
</form>

Som den er her er det kun \"hårde hvidevarer\" der burde virke, men prøv om det dur...








Avatar billede superdude Nybegynder
30. august 2001 - 13:14 #9
Der skal sekvfølgelig ikke være onSelect i den første option, du kalder vælg type her. Min fejl :-)
Avatar billede wandaxp Praktikant
30. august 2001 - 13:20 #10
hmmmm, jeg kan stadig ikke få den til at gå vidre, når jeg så vælger det første punkt (Hårde hvidevarer)?

Jeg kan sagtens afsætte flrer point hvis du gerne vil hjælpe :-)
Avatar billede superdude Nybegynder
30. august 2001 - 13:30 #11
Der er mig der er forkert på den!

Slet alle onSelect=\"document.form1.submit()\" og erstat den linie som nu hedder: Type <select name=\"TYPE\" size=\"1\"> med denne linie:

Type <select onChange=\"document.form1.submit()\" name=\"TYPE\" size=\"1\">

Så burde det virke.
Avatar billede wandaxp Praktikant
30. august 2001 - 13:35 #12
Ja, så er der lidt aktivitet, men den kommer frem til at metoden ikke er tilladt?

HTTP-fejl 405
405 Metoden er ikke tilladt.

Den metode, der er angivet på anmodningslinjen, er ikke tilladt for den ressource, der er identificeret af anmodningen. Kontroller, at du har installeret den rigtige MIME-type for den ressource, du har bedt om.

Kontakt administratoren for serveren, hvis problemet opstår igen.
Avatar billede wandaxp Praktikant
30. august 2001 - 13:37 #13
ahhh ok, det var bare :

<form name=\"form1\" action=\"&<%=request.serverVariables(\"SCRIPT_NAME\")%>&\" method=\"post\">

Her skulle jeg lige fjerne \"&  +    &\"

Men den glemmer det valg man har lavet i den første :-)
Avatar billede superdude Nybegynder
30. august 2001 - 13:41 #14
Den her virker helt sikkert: :-)

har selv testet den...


<form name=\"form1\" action=\"<%=request.serverVariables(\"SCRIPT_NAME\")%>\" method=\"post\">
Type <select onChange=\"document.form1.submit()\" name=\"TYPE\" size=\"1\">
<option>Vælg Type her</option>
<option value=\"a\">Hårde hvidevarer</option>
<option value=\"b\">Belysning</option>
<option value=\"c\">El-apparater</option>
<option value=\"d\">El artikler</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%
if request(\"TYPE\")= \"a\" then
    Response.write \"Kategori <select name=KATEGORI size=1>\"
    Response.write \"<option>Vælg først <B>Type</B></option>\"
    Response.write \"</select>\"
end if 
%>
</form>
Avatar billede superdude Nybegynder
30. august 2001 - 13:46 #15
indsæt denne linie i stedet for den eksisterende:

<option value=\"a\"<%if request(\"type\") = \"a\" then response.write \"selected\" %>>Hårde hvidevarer</option>
Avatar billede superdude Nybegynder
30. august 2001 - 13:46 #16
Dette skal du selvfølgelig gøre ved hver option tag :-)
Avatar billede superdude Nybegynder
30. august 2001 - 13:53 #17
Således:

<form name=\"form1\" action=\"<%=request.serverVariables(\"SCRIPT_NAME\")%>\" method=\"post\">
Type <select onChange=\"document.form1.submit()\" name=\"TYPE\" size=\"1\">
<option>Vælg Type her</option>
<option value=\"a\"<%if request(\"type\") = \"a\" then response.write \"selected\" %>>Hårde hvidevarer</option>
<option value=\"b\"<%if request(\"type\") = \"b\" then response.write \"selected\" %>>Belysning</option>
<option value=\"c\"<%if request(\"type\") = \"c\" then response.write \"selected\" %>>El-apparater</option>
<option value=\"d\"<%if request(\"type\") = \"d\" then response.write \"selected\" %>>El artikler</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%
if len(request(\"TYPE\"))<>0 then
select case request(\"TYPE\")
    case \"a\"
        Response.write \"Kategori <select name=KATEGORI size=1>\"
        Response.write \"<option>Hårde hvidevarer</option>\"
        Response.write \"</select>\"
    case \"b\"
        Response.write \"Kategori <select name=KATEGORI size=1>\"
        Response.write \"<option>Belysning</option>\"
        Response.write \"</select>\"
    case \"c\"
        Response.write \"Kategori <select name=KATEGORI size=1>\"
        Response.write \"<option>El-apparater</option>\"
        Response.write \"</select>\"
    case \"d\"
        Response.write \"Kategori <select name=KATEGORI size=1>\"
        Response.write \"<option>El artikler</option>\"
        Response.write \"</select>\"
end select
end if
%>
</form>
Avatar billede superdude Nybegynder
30. august 2001 - 14:43 #18
Øh...points???
Avatar billede wandaxp Praktikant
30. august 2001 - 15:10 #19
Ups, undskyld vente tiden, men havde lige lidt problemer med PCen :-)
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