[ASP] Listbox

Pagina: 1
Acties:

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 09:06
Ik wil een uit een listbox geselecteerde waarde meegeven als parameter. Maar wat was dat ook alweer ?
Listbox.Selected werkt niet.

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 03-09 23:48
asp of asp.net?

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 09:06
ASP

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 09:06
iemand een idee?

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • mjax
  • Registratie: September 2000
  • Laatst online: 02-09 04:48
In javascript:

Listbox.value

of

Listbox.options[listbox.selectedIndex].value

Waarschijnlijk lijkt de ASP variant hierop. (geen ervaring)

  • lexited
  • Registratie: Maart 2001
  • Laatst online: 08-09 15:47
het is een form-field neem ik aan ?

die lees je net zo uit als de andere waarden

select name = <jou naam>

en die data ophalen uit het form.

1 - 2 - 3


  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 09:06
code:
1
2
3
4
5
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'userID = selGebruiker[selGebruiker.selectedIndex].value'. 

/Modules/CwebNieuws/userDel.asp, line 71

Gaat niet echt lukken, btw, data ophalen met een post is geen optie, omdat de data dan eerst gepost moet worden, en die moet ik dan wel eerst hebben :P

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


Verwijderd

Pagina met form:
code:
1
2
3
4
5
6
7
8
<form method="post" action="file.asp">
<select name="blaat">
<option value="1">eerste</option>
<option value="2">tweede</option>
<option value="3">derde</option>
<option value="4">vierde</option>
</select>
</form>

file.asp:
code:
1
2
3
<%
sql = "select * from table where id = " & request.form("blaat")
%>

Is dat wat je wil??? :?

  • lexited
  • Registratie: Maart 2001
  • Laatst online: 08-09 15:47
ik een form maak , form1 , post method = post?

en een form field <select name = test..>

en dan een Request.Form1("test")

:o)

werkt bij mij.

/edit
net te laat..

1 - 2 - 3


  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 09:06
Nee, ik heb een form met daarin een combo/listbox, waar je een gebruiker kunt selecteren.
Als je dan op een knop druk moet die gebruiker verwijderd worden uit de database. Het verwijderscript zit IN de huidige pagina. Dus GEEN externe ASP files.
Om deze reden kan ik dus geen Request.Form oid gebruiken, en omgooien wil ik niet, want toevoegen lukt ook op deze manier, dus moet dat verwijderen ook gaan.
Alleen is de kwestie hoe ik de variabele geselecteerde gebruiker krijg.
Droomwever keilt er deze code neer:
code:
1
<input type="hidden" name="MM_recordId" value="<%= rsUser.Fields.Item("userID").Value %>">

En dat wil wel, alleen pakt hij dan ALTIJD het eerste record uit het recordset, terwijl ik de geselecteerde user wil verwijderen, en niet altijd de eerste.

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


Verwijderd

post dan ff de hele code... is net wat makkelijker om te kijken waar het 'em in zit.

  • lexited
  • Registratie: Maart 2001
  • Laatst online: 08-09 15:47
ooit gehoord van option selected ?

(kan je op testen en die selecteren :) )

zoiets ..

<option value="<%= rstFiles.Fields("name").Value %>" <% if (rstFiles.Fields("name").Value) = (Recordset1.Fields.Item("foto").Value) then response.write "selected"%> ><%= rstFiles.Fields("name").Value %></option>

(regel van mijn eigen kunsten)

1 - 2 - 3


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%
  If Request.Form.Count <> 0 Then
    'submit
    strSql = "DELETE bla FROM zus WHERE dit = '" & RemFouteinput( Request.Form( "iets" ) ) & "';"
    objConn.Execute( strSql )
    objConn.Close
    Set objConn = Nothing
    Response.Redirect Request.ServerVariables( "SCRIPT_NAME" )
  End If
%>
<html>
...
<form name = 'grr' action = "<%= Request.ServerVariables( "SCRIPT_NAME" )" method = "post">
<select name = "iets">
<%
  ..selecteer iets uit db
  For i = 0 to grotevanrecordset
     strText = strText & "<option value = '" & RS( "eending" ) & "'>" & RS( "eenanderding" ) & "</option>"
  Next

  Response.Write strText
%>
</select>
...
</html>

Niet correct maar een indicatie. ;)

Verwijderd

Op dinsdag 07 mei 2002 12:25 schreef Nibble het volgende:
Nee, ik heb een form met daarin een combo/listbox, waar je een gebruiker kunt selecteren.
Als je dan op een knop druk moet die gebruiker verwijderd worden uit de database. Het verwijderscript zit IN de huidige pagina. Dus GEEN externe ASP files.
Ben ik dan dom als ik zeg dat je dan maar javascript moet gebruiken, omdat ASP simpelweg serversided is!!!

  • _Dexter_
  • Registratie: December 2000
  • Laatst online: 23-02-2021
Het beste kan je je invoerform op een andere pagina zetten dan het daadwerkelijk uitvoeren van de query's op de database. Dit op het 1e punt omdat je dan alle gegevens beschikbaar hebt en ten 2e is het veiliger.

Nadat je dan die pagina hebt aangeroepen kan je met behulp van response.redirect "paginanaam" weer automatisch terug gaan naar de pagina van jou keuze (de invoerpagina bv).

Als je het echt per se in 1 pagina wil zal je een hidden option in je form moeten zetten en in je asp script kijken of de goede waarde in die option staat (request.form("check")).

Verwijderd

Ben ik dan dom als ik zeg dat je dan maar javascript moet gebruiken, omdat ASP simpelweg serversided is!!!
Niet dom maar hoe wou jij het javascript doen database is server sided en daar moet het uit weg gehaalt worden dus wat hij doet moet gewoon werken
strSql = "DELETE bla FROM zus WHERE dit = '" & RemFouteinput( Request.Form( "iets" ) ) & "';"
verander dit is in
code:
1
strSql = "DELETE FROM zus WHERE dit = " & RemFouteinput( Request.Form( "iets" ) ) & ""

ik zeg niet dat dit wel werkt maar je werkt met een int
en dan hoef je geen '' te gebruiken

  • _Dexter_
  • Registratie: December 2000
  • Laatst online: 23-02-2021
ik had idd nog niet naar de query zelf gekeken maar die klopt idd ook niet in jou code. (zie post hierboven)

  • cwppol
  • Registratie: Maart 2002
  • Laatst online: 05-01-2025
Is de oplossing niet gewoon...
code:
1
2
3
4
5
6
paginametkeuzes.asp

<form method="post" action="paginametkeuzes.asp">
<select name="keuzes">
< option value="blaat"> enzoverder
</select></form>

En dan bovenin de pagina...
code:
1
2
3
4
<% if Request("keuzes") <> "" then
SQL = "Delete blaaaat met Request("keuzes")
%>
(samenvatting uiteraard... :) )

Of ben ik nu heeel simpel? Dan heb je alles mooi samen in een pagina. En asp is (zoals al werd gezegt) nu eenmaal serverside... Als de gebruiker dus iets ziet waar hij uit kan kiezen is de aps al verwerkt... Je MOET het dus eerst weer opnieuw laten laden...

Wat je zei "toevoegen werkt ook zo" kan dus niet... tenzij je daar net zoiets doet als ik hierboven. Anders zou ik graag je script een keer zien! :)
Pagina: 1