webForumDet fria alternativet

Strukturera kod i formulär med många artiklar

ASP

2 svar · 571 visningar · startad av hypatia

Medlem sedan feb. 20016 388 inlägg
Frågan#1

Jag håller på och skapar ett beställningsformulär med ca 250 artiklar och märker nu att jag inte alls är van att hantera den mängden artiklar. Jag har skrivit hur många rader kod som helst bara för att lägga in data i databasen och känner nu att jag behöver hitta ett sätt att snabba upp och strukturera kodandet.

Det kan t.ex. vara så här:

artikel=request.form("artikel")
osv. en massa gånger...

'lägger in lite grejs i databasen

Kom sedan på att jag ju bör kolla om fältet är tomt och i så fall tilldela variabeln artikel värdet 0.

Måste jag då verkligen skriva

if request.form("artikel")<>"" then
artikel=request.form("artikel")
else
artikel=0
end if

250 gånger?

Eller finns det något himla klurigt och bra sätt att inte behöva skriva allt så många gånger?

Har klurat lite på att använda en array, men får inte riktigt till det.

Hjälp mig gärna med lite tips på sökord eller liknande... för jag har sökt i blindo ett tag utan att komma på vad jag ska söka på.

Medlem sedan juni 20008 205 inlägg
#2

För det första kan (bör!) du göra om ifsatsen till en funktion.

function GetFormItem(key, defaultValue)
    Dim returnValue
    returnValue = Request.Form(key)
    if returnValue = "" then
        returnValue = defaultValue
    end if
    GetFormItem = returnValue
end function 

...

artikel = CInt(GetFormItem("artikel", "0"))

Sen förstår jag inte riktigt exakt vad det är du har 250 st av i ditt formulär, och hur grejerna hänger ihop (och hur ser användargränssnittet ut som har 250+ formulärfält!? ;) ).

Medlem sedan feb. 20016 388 inlägg
#3

Du är kung! :f

Det funkade (såklart) klockrent. Jag har knappt använt funktioner eftersom jag bara har kodat småsaker och inte sett behovet av att lära mig det. Nu ska jag absolut läsa mer om det.

Funktionen ihop med en array minskade antalet kodrader avsevärt (typ några hundra)! Förutom att det går att förändra den nu när den inte är så statisk. Guld värt!

Jo, användargränssnittet kanske inte är det bästa... det handlar om kläder. T.ex. kan det på en rad finnas en tröja av en viss färg i ett antal olika storlekar. På nästa rad är det samma tröja i en annan färg, även den i ett gäng olika storlekar, osv. i fyra färger. Därefter en klänning på samma sätt i fyra olika färger och olika storlekar osv. För att hålla rätt på vad som är vad kände jag ett behov av att döpa formulärfält och databasfält till namn som anger både klädtyp, färg och storlek.

Här är ett första utkast på hur det kommer att se ut (enligt önskemål från kunden):
http://froken.se/form.asp

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)