Avatar billede Slettet bruger
31. juli 2002 - 15:38 Der er 18 kommentarer og
1 løsning

FORM ID

Jeg har en række forms på en side, hvor hver form har hver sit unikke ID men hvordan får jeg følgende kode til at skelne hvilken form der skal udføres?
Jeg har samtidig lavet en checkbox for hver form som også har et unikt ID og den skulle meget gerne tjekke om den er krydset af eller hvad.

if Request.Form("check") = "on" then
    ID = Request.Form("ID")
    Sql2 = "DELETE FROM nyheder where id="+ID
    Con.Execute Sql2
    Response.Write "<strong>Nyheden er nu slettet!</strong>"
END IF
Avatar billede steen Nybegynder
31. juli 2002 - 15:41 #1
if Request.**** Fornmavnet her ****("check") = "on" then
    ID = Request.Form("ID")
    Sql2 = "DELETE FROM nyheder where id="+ID
    Con.Execute Sql2
    Response.Write "<strong>Nyheden er nu slettet!</strong>"
END IF
Avatar billede Slettet bruger
31. juli 2002 - 15:43 #2
jamen formnavnet er jo unikt.. skal det ikke være det? Jeg mener jeg kan pt ikke skrive noget navn da det kan være en eller mange værdier...
Avatar billede steen Nybegynder
31. juli 2002 - 15:46 #3
Er det fordi du har en hel række nyheder med hver sin checkbox, og så vil du kunne markere hver enkelt der skal slettes?
Avatar billede Slettet bruger
31. juli 2002 - 15:48 #4
lige præcis...
Avatar billede Slettet bruger
31. juli 2002 - 15:48 #5
med hver sin knap ovenikøbet =)
Avatar billede steen Nybegynder
31. juli 2002 - 15:52 #6
Du kunne også løse det på følgende måde:

Lav en side der indeholder listen med nyheder + en checkbox ud for hver, som indikerer, at denne skal slettes. Nederst på siden placerer du knappen, som så samler alle checkboxene sammen i EN form og sender det videre til en ny (eller samme side).

På modtagersiden looper du igennem formen, og for hver enkelt instans sletter du denne i DB'en..

/Steen
Avatar billede Slettet bruger
31. juli 2002 - 15:58 #7
Så selve checkboksene skal have samme unikke værdi ligesom jeg har lavet en hidden tekstfelt der også har det, og så søge på det?! og så herefter i en løkke bruge "for each item in request.form"?
Avatar billede Slettet bruger
31. juli 2002 - 16:02 #8
Nu ser det sådan ud:

for each item in request.form
if Request.Form("check") = "on" then
    ID = Request.Form("ID")
    Sql2 = "DELETE FROM nyheder where id="+ID
    Con.Execute Sql2
    Response.Write "<strong>Nyheden er nu slettet!</strong>"
END IF
NEXT

Og formen ser således ud:

<form action="SLET_NYHED.asp" method="post" id="slet">
<%
Sql = "SELECT * FROM nyheder ORDER BY Dato DESC"
Set Record =  Con.Execute(Sql)
Do While Not Record.EOF %>
<tr>
  <td align="left">Dato: <b><%=Record("dato")%></b></td>
  <td align="right">Fra: <b><%=Record("forfatter")%></b></td>
  <input type="hidden" value=<%=Record("id")%> name="ID">
  <td><input type="checkbox" value="<%=Record("id")%>" name="check"></td>
</tr>
<tr>
<td colspan="4" align="left"><%=Record("nyhed") %><br><br></td>
</tr>
<%
      Record.MoveNext
      Loop
%>
<input type="submit" name="Submit" value="Slet">
</form>
Avatar billede Slettet bruger
31. juli 2002 - 16:02 #9
men absolut ingen sker =/
Avatar billede steen Nybegynder
31. juli 2002 - 16:09 #10
Har du prøvet at sætte Con.Execute Sql2 til Con.Execute(Sql2) ???
Avatar billede Slettet bruger
31. juli 2002 - 16:13 #11
Nu har jeg =) Men intet sker ... ikke en gang beskeden "<strong>Nyheden er nu slettet!</strong>" kommer
Avatar billede steen Nybegynder
31. juli 2002 - 16:14 #12
Hvad med request.form()  <-- paranteserne!!
Avatar billede Slettet bruger
31. juli 2002 - 16:16 #13
Heller ikke det =/
Avatar billede Slettet bruger
31. juli 2002 - 16:17 #14
jeg tror slet ikke den opfatter hvilken checkbox der bliver sat til "on"
Avatar billede steen Nybegynder
31. juli 2002 - 16:19 #15
Åhh.. jeg kan ikke huske hvad værdien skal være... men plejer det ikke at være "checked" ??
Avatar billede steen Nybegynder
31. juli 2002 - 16:19 #16
if Request.Form("check") = "checked" then
Avatar billede steen Nybegynder
31. juli 2002 - 16:20 #17
eller true
Avatar billede Slettet bruger
31. juli 2002 - 16:24 #18
fatter det sq ikke...

Nu har jeg
<%
for each item in request.form()
if Request.Form("check") = "checked" then
    Set ID = Request.Form("ID")
    Sql2 = "DELETE FROM nyheder where id="+ID
    Con.Execute (Sql2)
    Response.Write "<strong>Nyheden er nu slettet!</strong>"
END IF
NEXT
%>

og formen længere nede ser sådan ud:

  <form action="SLET_NYHED.asp" method="post" id="slet">
<%
Sql = "SELECT * FROM nyheder ORDER BY Dato DESC"
Set Record =  Con.Execute(Sql)
Do While Not Record.EOF %>
<tr>
  <td align="left">Dato: <b><%=Record("dato")%></b></td>
  <td align="right">Fra: <b><%=Record("forfatter")%></b></td>
  <input type="hidden" value=<%=Record("id")%> name="ID">
  <td><input type="checkbox" value="<%=Record("id")%>" name="check"></td>
</tr>
<tr>
<td colspan="4" align="left"><%=Record("nyhed") %><br><br></td>
</tr>
<%
      Record.MoveNext
      Loop
%>
<input type="submit" name="Submit" value="Slet">
</form>
Avatar billede Slettet bruger
31. juli 2002 - 16:26 #19
argh jeg er kommet til at give dig pointene Steen så nu er der nok ikke flere der kigger på dette spørgsmål!*GG*
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