Avatar billede thoko Nybegynder
03. december 2004 - 19:56 Der er 2 kommentarer

ASP-løkke til efterbehandling af checkbox-resultater.

I en test har jeg 80 spørgsmål med hver sin chechbox (name = 1 - 80 og value = 1 med method = post).
Med 'Request.form' skal dataene efterfølgende viderebehandles i en løkke-rutine.

Denne løkke (på 'side 2') virker, når alle checkbokse markeres:
  for i = 1 to 80
  tal = i
  response.write Request.Form(tal)
  next

Undlades blot 1 checkbox får jeg fejlmeddelelsen:
  Request-objekt, ASP 0102 (0x80004005)
  Funktionen forventer en streng som input.
relateret til Response.write-linien.

Årsagen er den, at POST-strengen kun indeholder data for de checkboxe, der er markeret (den er derfor mindre end 80 og giver ubalance mellem de 2 dele).

Post-strengen ser (iflg. fejlmeddelelsen) sådan ud når checkboxene 1, 4, 7, 10, 66, 72 og 80 er markeret:
  1=1&4=1&7=1&10=1&66=1&72=1&80=1&spm=.%3A%3ASend+testdata%3A%3A.

Hvordan skal en dynamisk løkke se ud for kun at trække "name" for de markerede checkboxe?

PS: Når løkken er på plads, skal jeg igang med en videre behandling af de trukne data, end den nuværende kodelinie lægger op til.
Avatar billede ellebaek Nybegynder
03. december 2004 - 21:57 #1
du kan benytte...

<%
for each item in request.form
response.write item & vbtab & request.form(item) & "<br>"
next
%>

så tager den alle de checkboxe der er udfyldt...
Avatar billede ellebaek Nybegynder
03. december 2004 - 21:58 #2
så skal du bare lige trække submit funktionen fra med en if...

Altså:

<%
for each item in request.form
if not item = "submit" then
response.write item & vbtab & request.form(item) & "<br>"
end if
next
%>

Så skal du blot rette navnet til på din form hvis den ikke hedder submit..
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