Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med checkboxar

Postades av 2001-02-15 12:29:00 - Daniel , i forum asp - allmänt, Tråden har 15 Kommentarer och lästs av 856 personer

Hej!
Jag har en sida, kallad "showlist.asp", där jag skriver ut alla poster i en tabell. Vid varje post finns en checkbox som ska fyllas i om man man vill ta bort en post.

Koden som skriver ut tabellen ser ut så här:
---------------------------------------------------
<table>
While Not RS.EOF
Response.Write "<tr><td><input type='checkbox' value='yes' name='" & RS("Email") & "'></td><td>" & RS("Email") & "</td><td width='5'></td></tr>"
RS.MoveNext
Wend
</table>
--------------------------------------------------

Undrar nu hur jag ska få de markerade posterna att tas bort när man klickar på "Skicka"-knappen

Tack på förhand
/Danne


Svara

Sv: Problem med checkboxar

Postades av 2001-02-15 12:45:00 - Patrik Löwendahl

Finns säkert en miljon sätt att lösa det hela på .. så hör löste jag det vid ett tillfälle:
<p>
1) Skapa ett hidden fält som skickas med vid submit, låt det innehålla alla namnen. Låte det vara separerat av tex ;
<p>
2) på mottagar sidan, splitta upp hidden fältet till en array med hjälp av <code> Split(str, delim) </code>
<p>
3) använd <code> For Each xxx In vXxx </code> för att loopa igenom alla fälten och kolla om den är satt på ON .. isf tabort..



Svara

Sv: Problem med checkboxar

Postades av 2001-02-15 14:25:00 - Andreas Hillqvist

Jag skull nog gjort något såhär:
Skicka sida:
<table>
<%
Dim fldEmail

Set fldEmail = RS("Email")

Do Until RS.EOF
%>
<tr>
<td><input type="checkbox" value="<%=fldEmail%>" name="Recivers"></td>
<td><%=fldEmail%></td>
<td width="5"></td></tr>
<%
RS.MoveNext
Loop
%>
</table>

Action sida:

<%
Dim vTemp
If Request.Form("Recivers").Count > 0 Then
For each vTemp in Request.Form("Recivers")
Response.Write vTemp & "<BR>" & vbCrLf
Next
Else
Response.Write "Du har inte angivit några mottagare!"
End if
%>


Svara

Sv: Problem med checkboxar

Postades av 2001-02-16 08:25:00 - Daniel

Tack för svaren!!
Jag provade den senare lösningen med Do loop och det funkade fint. Nu får jag med mig de "klickade" checkboxarnas värde till nästa sida. Undrar nu om ni har nåt tips om hur man tar bort dessa värden från databasen??

MVH
/Danne


Svara

Sv: Problem med checkboxar

Postades av 2001-02-16 10:04:00 - Andreas Hillqvist

Förutsätter att du vet hur du upprättar en ado anslutning mot en databas.
<%
'Conn är ett ADODB:Connection opjekt som är öppnad mot rätt databas
Dim vTemp
Dim sIn
If Request.Form("Recivers").Count > 0 Then
For each vTemp in Request.Form("Recivers")
If Len(vTemp) Then
sIn = sIn & ", '" & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if
Next
Conn.Execute "DELETE * FROM tabell WHERE EMail IN (" & sIn & ")"
End if
%>

Rekomenderar att du använder primär nyckeln istället för email i värdet för kryss rutorna. Om din primärnyckel är ett tal, behövs inte enkel citat tecknen:

If Len(vTemp) Then
sIn = sIn & ", " & vTemp
Else
sIn = vTemp
End if


Svara

Sv: Problem med checkboxar

Postades av 2001-02-16 12:51:00 - Daniel

Hmm....jag får det inte att fungera!
Min kod på sidan som ska ta bort poster, ser ut så här nu:
-------------------------------------------------------------------

<html>
<head>
<%
Dim ConnDB, RS, SSQL
Set ConnDB = Server.CreateObject("ADODB.connection")
Set RS = Server.CreateObject("ADODB.recordset")

ConnDB.Provider="microsoft.jet.OLEDB.4.0"

ConnDB.Properties("data source")="D:\wwwroot\hemsidan\DB\database.mdb"

ConnDB.Open

SSQL = "DELETE * FROM tblMailinglist WHERE Email ='" & vTemp & "';"

RS.Open SSQL,ConnDB,1,3

%>

</head>

<body>


<%
Dim vTemp
Dim sIn
If Request.Form("Recivers").Count > 0 Then
For each vTemp in Request.Form("Recivers")
If Len(vTemp) Then
sIn = sIn & "', " & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if
Next
ConnDB.Execute "DELETE * FROM tblMailinglist WHERE Email IN (" & sIn & ")"
End if


%>


</body>
</html>

-------------------------------------------------------------------

Vad exakt gör vTemp och sIn??

MVH
/Danne


Svara

Sv: Problem med checkboxar

Postades av 2001-02-16 14:21:00 - Andreas Hillqvist

Missade ett enkelt citat tecken i If satsen... :O)

vTemp - Variabel som loopar igenom "kryssrutor"
sIn - Slår ihop email adresser och komma separerar dem. Ska bli nåt sånt här:
'a@aaa.aa', 'b@bbb.bb', 'c@ccc.cc'

Används sedan i Where Satsen
WHERE Email IN ('a@aaa.aa', 'b@bbb.bb', 'c@ccc.cc')

Ska tolkas något sånt här:
Om email adressen överensstämmer med någon post i listan.

Behöver då bara köra en fråga.

-------------------------------------------------------------------
<html>
<head>
</head>
<body>
<%
If Request.Form("Recivers").Count > 0 Then
Dim ConnDB
Dim SSQL
Dim vTemp
Dim sIn
Dim sList
Set ConnDB = Server.CreateObject("ADODB.connection")

ConnDB.Provider="microsoft.jet.OLEDB.4.0"
ConnDB.Properties("data source")="D:\wwwroot\hemsidan\DB\database.mdb"

ConnDB.Open

For each vTemp in Request.Form("Recivers")
If Len(vTemp) Then
sIn = sIn & ", '" & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if
sList = sList & vTemp & "<BR>" & vbCrLf
Next

SSQL = "DELETE * FROM tblMailinglist WHERE Email IN (" & sIn & ")"

ConnDB.Execute SSQL
Response.Write "<B>Följande adresser har tagits bort:</B><BR>" & vbcrlf
Response.Write sList
Else

%>
<H1>Inga adresser markerade!</H1>
<%

End if

%>
</body>
</html>


Svara

Sv: Problem med checkboxar

Postades av 2001-02-16 14:42:00 - Daniel

Stort tack för att du orkar!!!

När jag kör koden, hoppar den direkt till "Inga adresser markerade!" Vad kan det bero på?

mvh
/danne


Svara

Sv: Problem med checkboxar

Postades av 2001-02-16 16:20:00 - Andreas Hillqvist

Hur ser loopen ut som bygger check boxarna? Är namnet på checkbox'arna "Recivers"?


Svara

Sv: Problem med checkboxar

Postades av 2001-02-19 09:14:00 - Daniel

Den ser ut så här:
-------------------------------------------

For each vTemp in Request.Form("Recivers")
If Len(vTemp) Then
sIn = sIn & ", '" & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if
sList = sList & vTemp & "<BR>" & vbCrLf
Next

SSQL = "DELETE * FROM tblMailinglist WHERE Email IN (" & sIn & ")"

ConnDB.Execute SSQL
Response.Write "<B>Följande adresser har tagits bort:</B><BR>" & vbcrlf
Response.Write sList
Else

%>
<H1>Inga adresser markerade!</H1>
<%

End if

-------------------------------------------

/Danne


Svara

Sv: Problem med checkboxar

Postades av 2001-02-19 12:48:00 - Andreas Hillqvist

Hur ser koden ut som skapar formulärtaggen?


Svara

Sv: Problem med checkboxar

Postades av 2001-02-19 13:30:00 - Daniel

<html>
<head><title></title>
<%
Dim ConnDB, RS
Set ConnDB = Server.CreateObject("ADODB.connection")
Set RS = Server.CreateObject("ADODB.recordset")

ConnDB.Provider="microsoft.jet.OLEDB.4.0"

ConnDB.Properties("data source")="D:\wwwroot\hemsidan\DB\database.mdb"

ConnDB.Open

SSQL = "SELECT Email FROM tblMailinglist;"

RS.Open SSQL,ConnDB,1,3

%>

</head>

<body>
<h1>
<b>NYHETSBREV</b>
</h1>

<form method='post' action='listdeletecheck.asp' name='listform'>

<table>
<tr>
<td colspan='3'><b>Epost adresser</b></td>
</tr>
<%
Dim fldEmail

Set fldEmail = RS("Email")

Do Until RS.EOF
%>
<tr>
<td><input type="checkbox" value="<%=fldEmail%>" name="Recivers"></td>
<td><%=fldEmail%></td>
<td width="5"></td></tr>
<%
RS.MoveNext
Loop
%>
</table>
<br>
<input type='submit' value='Ta Bort Adress' name='submit'> <input type='reset' value='Töm Checkboxar' name='reset'>
</form>
</body>

</html>


Svara

Sv: Problem med checkboxar

Postades av 2001-02-19 23:17:00 - Andreas Hillqvist

Hittade ett litet fel. Test det här:
--------------------------------------------------------------
Page1.asp
--------------------------------------------------------------
<html>
<head><title></title>
<%
Dim ConnDB, RS, SSQL
Set ConnDB = Server.CreateObject("ADODB.connection")
Set RS = Server.CreateObject("ADODB.recordset")

ConnDB.Provider="microsoft.jet.OLEDB.4.0"

ConnDB.Properties("data source")="D:\wwwroot\hemsidan\DB\database.mdb"

ConnDB.Open

SSQL = "SELECT Email FROM tblMailinglist;"

RS.Open SSQL,ConnDB,1,3

%>

</head>

<body>
<h1>
NYHETSBREV
</h1>

<form method='post' action='listdeletecheck.asp' name='listform'>

<table>
<tr>
<td colspan='3'>Epost adresser</td>
</tr>
<%
Dim fldEmail

Set fldEmail = RS("Email")

Do Until RS.EOF
%>
<tr>
<td><input type="checkbox" value="<%=fldEmail%>" name="Recivers"></td>
<td><%=fldEmail%></td>
<td width="5"></td></tr>
<%
RS.MoveNext
Loop
%>
</table>
<br>
<input type='submit' value='Ta Bort Adress' name='submit'> <input type='reset' value='Töm Checkboxar' name='reset'>
</form>
</body>

</html>
--------------------------------------------------------------
listdeletecheck.asp
--------------------------------------------------------------
<html>
<head>
</head>
<body>
<%
If Request.Form("Recivers").Count > 0 Then
Dim ConnDB
Dim SSQL
Dim vTemp
Dim sIn
Dim sList
Set ConnDB = Server.CreateObject("ADODB.connection")

ConnDB.Provider="microsoft.jet.OLEDB.4.0"
ConnDB.Properties("data source")="D:\wwwroot\hemsidan\DB\database.mdb"

ConnDB.Open

For each vTemp in Request.Form("Recivers")
If Len(sIn) Then
sIn = sIn & ", '" & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if
sList = sList & vTemp & "<BR>" & vbCrLf
Next

SSQL = "DELETE * FROM tblMailinglist WHERE Email IN (" & sIn & ")"

ConnDB.Execute SSQL
Response.Write "<B>Följande adresser har tagits bort:</B><BR>" & vbcrlf
Response.Write sList
Else

%>
<H1>Inga adresser markerade!</H1>
<%

End if

%>
</body>
</html>


Svara

Sv: Problem med checkboxar

Postades av 2001-02-20 10:19:00 - Daniel

Det funkade!! Stort tack för all hjälp och engagemang!
Vad var det som var fel förresten?

MVH
/Danne


Svara

Sv: Problem med checkboxar

Postades av 2001-02-20 13:10:00 - Andreas Hillqvist

Felet jag hittade var:
If Len(vTemp) Then
sIn = sIn & ", '" & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if

Ska ju vara:
If Len(sIn) Then
sIn = sIn & ", '" & vTemp & "'"
Else
sIn = "'" & vTemp & "'"
End if

Nån gång måste jag lärt mig att testa koden innan jag publicerar den... :O)


Svara

Sv: Problem med checkboxar

Postades av 2001-02-21 12:33:00 - Daniel

OK!
Tack än en gång för all hjälp!
/Danne


Svara

Nyligen

  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 846
27 961
271 763
2 344
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies