/ 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
Form Action
Fra : Thomas Møller Nexø


Dato : 24-12-02 04:34

Hejsa.
Jeg har et mindre problem med en formular der skal sende videre
til en anden side (underside erklæret ud fra en variabel).

Min form ser således ud:

<form action='nyheder.asp?action=opdater&id=" & rs("Id") & "'
method="post">
<select name="Id">
<%

While Not Rs.EOF
Response.Write "<option value='" & Rs("Id") & "'" & ">" &
(left(Rs("Header"),30)) & "</option>"
Rs.MoveNext
Wend

Response.Write " "
Response.Write "<input type='submit' value='Go'"

%>

</form>

Det er meningen at man via en dropdown menu skal kunne vælge et
id fra en database og derefter sendes til en side der viser
indholdet i de forskellige felter hvorefter man så kan opdatere
felterne.

Jeg får følgende fejl når jeg sender formen:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i
strengen i forespørgselsudtrykket "Id = "".
/haven_admin/nyheder.asp, line 103

Siden "nyheder.asp&action=opdater + et id" virker fint hvis der
linkes til den direkte som feks.

Response.Write "<a href='nyheder.asp?action=opdater&id=" &
Rs("Id") & "'>" & "<b>Ret</b>" & "</a>"

Håber der er nogen der kan give et råd.

På forhånd tak,
Thomas

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jonas Skafte Jensen (24-12-2002)
Kommentar
Fra : Jonas Skafte Jensen


Dato : 24-12-02 04:45

Jeg tror dit problem er at du blander GET og POST.
Prøv dette i stedet:

<form action='nyheder.asp' method="post">
<input type=hidden name=action value='opdater'>
<select name="Id">
<%
While Not Rs.EOF
Response.Write "<option value='" & Rs("Id") & "'" & ">" &
(left(Rs("Header"),30)) & "</option>"
Rs.MoveNext
Wend

Response.Write " "
Response.Write "<input type='submit' value='Go'>"
%>
</form>



Thomas Møller Nexø (24-12-2002)
Kommentar
Fra : Thomas Møller Nexø


Dato : 24-12-02 14:22

Jonas Skafte Jensen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Jeg tror dit problem er at du blander GET og POST.
> Prøv dette i stedet:
>
> <form action='nyheder.asp' method="post">
> <input type=hidden name=action value='opdater'>
> <select name="Id">
> <%
&gt; While Not Rs.EOF
&gt; Response.Write "<option value='" & Rs("Id") & "'" & ">" &
&gt; (left(Rs("Header"),30)) & "</option>"
&gt; Rs.MoveNext
&gt; Wend
&gt;
&gt; Response.Write " "
&gt; Response.Write "<input type='submit' value='Go'>"
&gt; %>
> </form>
>
>

Hejsa.
Tak for svaret. Det virker desværre ikke helt som planlagt
Hverken "action" eller "Id" bliver tilføjet til url'en som det jo
skal for at jeg kan komme ind på den specifikke nyhed.
Hvis jeg tilføjer nyheder.asp?action=opdater til form action
kommer jeg rent faktisk ind på den specifikke nyhed, men kan ikke
opdatere den, da der ikke er tilfølet noget id til url'en.
Jeg tror det hele ville virke hvis jeg bare kunne tilføje id'et
sådan at den side man bliver smidt hen til bliver:
nyheder.asp?action=opdater&Id = "et eller andet id"

Problemet er bare at jeg ikke kan lave det i en form action uden
at få fejl.

Nogen ideer?
Man kan jo definere en url som dynamisk linker til et id i en
database, fek.s.:

Response.Write "<a href='nyheder.asp?action=opdater&id=" &
Rs("Id") & "'>" & "<b>Ret</b>" & "</a>"

Denne metode virker fint, men formen vil altså ikke på samme
måde.


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

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


Dato : 24-12-02 15:38

Thomas Skrev:
>Tak for svaret. Det virker desværre ikke helt som planlagt
>Hverken "action" eller "Id" bliver tilføjet til url'en som det jo
>skal for at jeg kan komme ind på den specifikke nyhed.
Jonas skrev:
> <select name="Id">
> <%
>&gt; While Not Rs.EOF
>&gt; Response.Write "<option value='" & Rs("Id") & "'" & ">" &
>&gt; (left(Rs("Header"),30)) & "</option>"
>&gt; Rs.MoveNext
>&gt; Wend
Hvis du har gjort som Jonas skrev = ovenstående og sat form action = Post
kan
du hente den valgte værdi med:
Request.Form("Id")
Du kan ikke overføre den valgte værdi med
<form action='nyheder.asp?action=opdater&id=" & rs("Id") & "'
>method="post">
for på hvilken post peger rs("Id")?
du kan skrive:
<Form Action="nyheder.asp?action=opdater" method="post">
og så bruge det som
If Request.QueryString("action") = "opdater" then
Response.Write Request.Form("Id")
End If

Håber det bringer dig videre. GOD JUL
--
Med Venlig Hilsen

Jørgen Müller




Thomas Møller Nexø (25-12-2002)
Kommentar
Fra : Thomas Møller Nexø


Dato : 25-12-02 11:11

Jonas Skafte Jensen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Jeg tror dit problem er at du blander GET og POST.
> Prøv dette i stedet:
>
> <form action='nyheder.asp' method="post">
> <input type=hidden name=action value='opdater'>
> <select name="Id">
> <%
&gt; While Not Rs.EOF
&gt; Response.Write "<option value='" & Rs("Id") & "'" & ">" &
&gt; (left(Rs("Header"),30)) & "</option>"
&gt; Rs.MoveNext
&gt; Wend
&gt;
&gt; Response.Write " "
&gt; Response.Write "<input type='submit' value='Go'>"
&gt; %>
> </form>
>
>

Hejsa.

Jeg kunne ikke få det til at virke i starten, men benyttede så
det du viste med en hidden attribut + get metoden og nu virker
det så.

Formen er ikke ændret meget, men ser nu ud som følger:

<form action="nyheder.asp" method="get">
<input type=hidden name=action value="opdater">
<select name="Id">

<%
While Not Rs.EOF
Response.Write "<option value='" & Rs("Id") & "'" & ">" &
(left(Rs("Header"),30)) & "</option>"

Rs.MoveNext
Wend

Response.Write " "
Response.Write "<input type='submit' value='Go'>"
%>

</form>

Takker for svaret.

Mvh,
Thomas


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

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

Månedens bedste
Årets bedste
Sidste års bedste