25. juli 2007 - 11:32Der er
12 kommentarer og 1 løsning
Timeseddel - validering og Afsendelse med Jmail
Hej Eksperter,
Jeg vil godt lave en timeseddels form som har lidt funktioner. Hvis vi nu forestiller os at der er en standard linie som så gentages x antal gange under...
Inputsne: Dato(dd-mm-åååå), Fra kl, Til kl, Timer(auto udregnet), Kunde(Dropdown), Lokation(dropdown), Bemærkning
Funktion: Når man vælger en kunde skal der vises de lokationer som høre til den bestemte kunde i dropdown. Der skal i scriptet kunne defineres en standard Fra- og til kl, så hvis der ikke er udfyldt noget Fra kl eller Til kl så skal de udfyldes med Standarden.
Det skal være muligt at anføre hvor mange feldter der skal vises. Det skal være muligt at tilføje/fjerne feldter. I bunden skal der vises det samlede time antal. Dato feldtet skal automatisk udfyldes med dato 1-30/31 med udgangspunkt i den pågældene måned. Det skal også være muligt at gå frem og tilbage mellem månederne. Lad os sige at man nu er to steder samme dag og man retter datoen skal datoerne indordne sig nedenfor.
Validering: Hvis time antallet i en time er indskrevet forkert skal baggrunden gøres rød i den linie. F.eks. ved ugyldige tegn.
Hvis time antallet oversiger 24 skal baggrunden gøres mørkorange.
Når der submittes skal der tjekkes om der er "røde" linier og så skal focus flyttes der til. Ellers skal der afsendes en email med inputsne.
Det er en temmelig omfattende opgave, og den omfatter ikke bare ASP samt JMail-funktion men også flere JavaScript-funktioner, som måske skulle være spurgt om i JavaScript-kategorien som separat spg., når ASP-delen var løst her.
To spg.:
1) Du skriver, at man skal kunne definere, hvor mange felter, der skal vises. Skal brugeren kunne gøre det, ellers skal du bare kunne gøre det i koden på en nem måde?
2) Og så skriver du, at man skal kunne fjerne/tilføje felter. Men med alle disse her javascript-valideringer og forskellig funktionalitet afhængig af de forskellige felttyper bliver det meget svært. Især fordi ASP-delen så skal være meget mere dynamisk, end hvis jeg nu ved, præcis hvilke felter, der skal være. Og hvordan skulle brugeren tilføje felter?
Muligvis er det lidt henad: ---------------------------------------------- <script language="JavaScript" type="text/JavaScript"> <!-- function isTimeKey(evt,id){ var charCode=(evt.which) ? evt.which : event.keyCode; if((charCode>31&&(charCode<48||charCode>57))||charCode==46||charCode==8){return false}
If Request.Querystring("send") Then Set msg=Server.CreateOBject("JMail.Message") msg.Silent=True msg.From=strMailAdresse msg.FromName="Timesedler" msg.Charset="iso-8859-1" msg.AddRecipient strMailAdresse msg.Subject="Timesedler" For Each Item in Request.Form msg.Body=msg.Body&Item.Name&": "&Item.Value&"<br>"&vbCrLf Next Set msg=Nothing Response.Write "<p>Timesedler er sendt!</p>" End If
Response.Write "<form method=""post"" action=""?send=true"">"&vbCrLf For i=1 To strAntalTimesedler Response.Write "<p><label>Dato</label><br>"&vbCrLf Response.Write "<input type=""text"" name=""dato"&i&""" value=""dd-mm-åååå""></p>"&vbCrLf
Response.Write "<hr>"&vbCrLf Next Response.Write "<input type=""submit"" value=""Send timesedler"">"&vbCrLf Response.Write "</form>"&vbCrLf%> -------------------------------------------------------- Jeg har dog udelagt "Timer"-feltet og tester ikke, om timeantallet er gyldigt. Dog kan man kun skrive tal og maks 2 tegn i hvert felt. Se om det er noget derhenad.
If Request.Querystring("send") Then Set msg=Server.CreateOBject("JMail.Message") msg.Silent=True msg.From=strMailAdresse msg.FromName="Timesedler" msg.Charset="iso-8859-1" msg.AddRecipient strMailAdresse msg.Subject="Timesedler" For Each Item in Request.Form msg.Body=msg.Body&Item&": "&Request.Form(Item)&"<br>"&vbCrLf Next Set msg=Nothing Response.Write "<p>Timesedler er sendt!</p>" End If
Response.Write "<form method=""post"" action=""?send=true"">"&vbCrLf For i=1 To strAntalTimesedler Response.Write "<p><label>Dato</label><br>"&vbCrLf Response.Write "<input type=""text"" name=""dato"&i&""" value="""&day(now)&"-"&month(now)&"-"&year(now)&"""></p>"&vbCrLf
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.