Toon posts:

ASP: hoe toepassen *?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb een asp bestand die een formulier moet verwerken gemaakt. Alleen wil ik op een gegeven moment alleen de naam van en de inhoud van tekstvakken uit het formulier selecteren die beginnen met een -. Dus bijvoorbeeld het tekstvak -naam wil ik selecteren, terwijl ik het tesktvak adres niet wil selecteren, daar staat immers geen - voor.

for each whatever in request.form
if request.form(whatever) = empty then
message = message
else
Message = Message & whatever & " = "
Message = Message & request.form(whatever) & vbcrlf & vbcrlf
end if
next

Ik heb zoals je ziet het al wel voor elkaar dat hij de lege tekstvakken niet verwerkt. Maar hoe kan ik nu iets invullen van -*. Dus dat hij alleen de tekstvakken stuurt met een -. In plaats van whatever moet dus iets komen van -*, maar dat werkt niet. Ik hoop dat jullie dit zo snappen, misschien allemaal wat omslachtig, maar toch. ;)

  • Nazgul
  • Registratie: Februari 2000
  • Laatst online: 11-10-2022

Nazgul

Digital Pizza Crew

Op donderdag 04 oktober 2001 21:11 schreef Patrick het volgende:

for each whatever in request.form
if request.form(whatever) = empty then
message = message
else
if left(whatever,1)="-" Then
Message = Message & whatever & " = "
Message = Message & request.form(whatever) & vbcrlf & vbcrlf
else
' Doe niets
end if

end if
next
Zoiets?

No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced.


  • Wally-S
  • Registratie: September 2001
  • Laatst online: 18-09 21:46

Wally-S

-Snowboarding is art-

Met stringmanupilatie (of zoiets)
Dus bijv.
test= -naam

If InStr(test, "-") = 1 then

bla bla

InStr(naam, "-") geeft als uitslag:
Het hoeveelste character een "-" in de string naam is.
En die is 1 als hij begint met een "-"

Je kan het ook met Left doen.

Dan zeg je:

If Left(naam, 1) = "-"

Deze neemt van de string naam van de linkerkant 1 character.
(dus als er 2 stond had hij de eerste 2 characters genomen)

Ik hoop dat je het een beetje snapt.

Snow is only frozen water


  • Wally-S
  • Registratie: September 2001
  • Laatst online: 18-09 21:46

Wally-S

-Snowboarding is art-

Je was net iets sneller :)

Snow is only frozen water


Verwijderd

Topicstarter
Harstikke bedankt, het werkt perfect. Ik heb nog één probleem, de pagina blijft oneindig verwerken, omdat ik geen goed afsluiter kan bedenken als het ware. Zo eindigt mijn pagina:

for each whatever in request.form
if request.form(whatever) = empty then
message = message
else
if left(whatever,1)="-" Then
Message = Message & whatever & " = "
Message = Message & request.form(whatever) & vbcrlf & vbcrlf
end if
end if
next

Mailer.Body = Message
Mailer.Send
Set Mailer = nothing
%>

Bij die next blijft hij volgens mij dus doorgaan, hoe kan ik ervoor zorgen dat hij al mijn tekstvakken controleert en dan toch stopt? O, ja. Wat moet ik toevoegen om de mensen door te linken naar een bevestigingspagina, waar ik dus bepaalde gegevens weer kan gebruiken uit het formulier? Zoals Hallo Request.form("Naam"), bedankt voor uw bestelling. Zoals jullie wel merken is mijn kennis van asp nog niet echt uitgebreid, ben pas begonnen.

  • Wally-S
  • Registratie: September 2001
  • Laatst online: 18-09 21:46

Wally-S

-Snowboarding is art-

Wat je zou kunnen doen is elk tekstvak in je form als naam een nummer geven.
Met tien tekstvakken kom je dan op iets van:

For tekstvak = 1 to 10
If request.form(tekstvak) = empty then
bla bla bla

Niet een echt mooie oplossing maar het werkt wel.

Wat betreft die andere vraag, ik heb het antwoord volgens mij vandaag al wel voorbij zien komen. Maar de search werkt niet dus ik kan hem iets vinden.
Het is iets in de header.

Snow is only frozen water


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op donderdag 04 oktober 2001 21:34 schreef Patrick het volgende:
Bij die next blijft hij volgens mij dus doorgaan, hoe kan ik ervoor zorgen dat hij al mijn tekstvakken controleert en dan toch stopt?
de for-each-next zorgt ervoor dat alles in de formrequest verwerkt wordt en daarna stopt. Dus ik vermoed dat het ergens anders fout gaat. En dan zet ik m'n geld op het verzenden van de mail.
Zet maar eens een paar response.writes op strategische plekken dan kan je zien waar je script fout loopt.
O, ja. Wat moet ik toevoegen om de mensen door te linken naar een bevestigingspagina, waar ik dus bepaalde gegevens weer kan gebruiken uit het formulier? Zoals Hallo Request.form("Naam"), bedankt voor uw bestelling. Zoals jullie wel merken is mijn kennis van asp nog niet echt uitgebreid, ben pas begonnen.
doorlinken doe je met response.redirect, maar in dit geval is het niet nodig (niet logisch) om door te linken. Je kan na de verwerking van de form en het versturen van de mail natuurlijk ook nog gewoon een stuk html tonen waarin je waarde(n) uit het form verwerkt.
Dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<%
for each blabla
  ' doe wat
next
' blabla
Mailer.Send
' blabla
%>
<html><body>
hallo <%= request.form("naam") %>, <br>
bedankt voor je reactie
</body></html>

Today's subliminal thought is:

Pagina: 1