On Fri, 23 Mar 2007 02:46:10 +0100, "Rasmus Jakobsen" <ingen@spam.tak>
wrote:
>Jørn Andersen skrev:
>> Spørg endelig videre til de dele, du har problemer med.
>
>Det vil jeg gøre nu!
>
>Jeg lavet de dele, du foreslog. Nu skal jeg have det til at hænge sammen.
>1. Brugeren går ind på skolens hjemmeside og ser den aktuelle liste over
>tilmeldte, som genereres vha. asp
Hvis du har fået den del til at virke, så ved du fx, at du kan
kommunikere med databasen - det er ofte en af første hurdler at komme
over
>2. På samme side kan man klikke "Ny tilmelding"
>3. Så skal siden skifte til en tilmeldingsside.
>4. Når tilmeldingen er fuldført, skal brugeren automatisk vende tilbage til
>pkt. 1
>
>Hvordan er det lige, at jeg får siderne hægtet sammen, så de skifter
>automatisk?
Fra 2 til 3 er bare et alm. link.
Fra 3 til 4:
En formular "lander" på den side, der er angivet i "action" - fx:
<form action="default.asp" method="post" name="tilmeldform">
Her ville jeg nok lave en "Tak for tilmeldingen", så den enkelte bruger
får en slags "kvittering" på, at man er tilmeldt.
Her kan du også fange evt. fejl ved indtastningen og give tilbagemelding
om, at "Navn er ikke udfyldt" (eller hvad der nu er galt.
Om man vil lave både formular og validering/svar på samme side eller på
hver sin er lidt smag og behag. Der kan være den fordel ved at have det
på samme side, at du let kan vise formularen igen med de indtastede
værdier + en fejlmeddelelse, hvis det nødvendigt.
Du kan evt. også "mellem-lande" på en bekræft-side (som også kan være
den samme), hvis du synes det er passende.
En måde at opbygge en sådan side (uden bekræft) kunne være
(pseudo-kode):
--------------------
strNavn = ""
strAdresse = "" osv.
strErr = ""
If (form er sendt) Then
- Hent værdier (Request.Form("navn") osv.)
- Validér efter behov
- Tilføj fejl-medd. ved hver mulig fejl:
strErr = strErr & "Navn ikke udfyldt<br>"
If strErr = "" Then
- Indsæt i database
- Skriv "Tak for tilmelding" + link til opdateret liste
Else
Response.Write "Formular er ikke udfyldt korrekt:<br>" & strErr
End If
End If
If (form er ikke sendt) Or (strErr <> "") Then
- Skriv formular (med allerede udfyldte værdier, hvis der er nogen)
fx:
<input type="text" value="<%= strNavn %>" name="navn">
End If
--------------------
Start med at springe over valideringen og nøjes med et par enkelte
felter til at starte med. Tilføj så resten af felterne - fx skal man vel
kunne *vælge* årgang og ikke selv indtaste
Når det virker, kan du tilføje validering - fx at obligatoriske
tekst-felter (navn, adresse osv.) skal være mere end 1 (eller flere)
tegn. Eller at tal-felter ikke er udfyldt med bogstaver osv.
Check, at din validering rent faktisk virker.
Når din ASP-validering virker, kan du hjælpe brugeren ved at tilføje
noget clientside JScript/JavaScript-validering, men vent med det, indtil
du er sikker på, at resten virker.
Lad være med at nøjes med JScript-validering - ikke alle har JScript
aktiveret.
Håber det giver dig lidt at arbejde med.
Ellers spørg bare videre.
Good luck,
Jørn
--
Jørn Andersen, Brønshøj
Stop Bush's krige - og Foghs støtte til dem
www.nejtilkrig.dk