Avatar billede d8tv Nybegynder
02. september 2005 - 14:58 Der er 8 kommentarer og
1 løsning

Tjekke om indtastning findes i Access db

Jeg ønsker at checke om en indtastet værdi findes i en access database. Feltet i databasen er (Initialer)- hvordan?
F.eks.
if ((minform.Initialer.value== "& Initialer &" ))
  {
    window.alert("Du er allerede registret i databasen");
    minform.Initialer.focus();
    cansubmit=false;
    return false;
  }
Hvad er den korrekte syntaks for ovennævnte?

Hilsen
d8tv
Avatar billede nielle Nybegynder
02. september 2005 - 16:35 #1
Det kan du ikke gøre i JavaScript - det kræver en tur omkring serveren for at der kan læses i databasen.
Avatar billede nielle Nybegynder
02. september 2005 - 16:37 #2
Du er mao. nødt til at submitte din from og så tjekke i mod databasen. Dette kræver enten ASP eller PHP (eller noget helt tredje). Hvilke muligheder har du til din rådighed?
Avatar billede roenving Novice
02. september 2005 - 23:28 #3
-- hvis det skal laves i javascript, skal den relevante information være til stede i klienten, når indtastningen foretages, f.eks. ved at kaste det i en javascript-'database', dvs. et array, som man kan checke op imod !-)
Avatar billede nielle Nybegynder
03. september 2005 - 08:10 #4
Den mulighed er der selvfølgelig, men det er nok ikke så ideelt hvis det drejer sig om:

1) Store datamængder, eller
2) Som her, data som er lidt følsomme i deres natur.
Avatar billede roenving Novice
03. september 2005 - 23:41 #5
*lol*

-- store datamængder ved initialer ?-)

-- og følsomheden kan selvfølgelig være tilstede, men oftest vil jeg gætte på, at det egentligf handler om et simpelt check, som man ligesågodt kan stille til rådighed uden at involvere serveren ...

-- læg checks så tæt, som fornuftigt muligt, på brugeren !o]
Avatar billede nielle Nybegynder
04. september 2005 - 08:13 #6
roenving> Nu var det jo ikke specielt initialer jeg tænkte på da jeg nævnte ”store datamængder” - det var mere princippet jeg filosoferede over.

Datamængden mht. initialer afhænger dog nok ret kraftigt af hvilket site vi snakker om. F.eks. ville jeg da ikke anbefale strategien til et site som Dating.dk (eller Eksperten.dk for den sags skyld). Selvfølgeligt bør man lægge valideringer så tæt på brugeren som muligt, nemlig i klienten, men kodeordet er i denne sammenhæng ”som fornuftigt muligt”. (Og som du selv lige så ofte påpeger, så betyder det på ingen måde at man spare serverside valideringen væk af den grund.)

d8tv> Under alle omstændigheder kan denne opgave ikke løses udelukkende i JavaScript. Der skal noget serversidescript til for at man man trække data id fra databasen. At domme efter det &-tegn som har sneget sig ind i din kode, så gætter jeg på at vi snakker ASP+VBScript.

Et muligt JavaScript kunne se sådan her ud:

function validateInit()
{
    initFraDb = new Array("d8tv","nielle","roenving")
    init = minform.Initialer.value.toLowerCase()

    for (i=0; i<initFraDb; i++)
    {
        if (init == initFraDb[i])
        {
            window.alert("Du er allerede registret i databasen")
            minform.Initialer.focus()
            cansubmit = false
            return false
        }
    }

    return true
}

Her er det altså din ASP-kode som skal danne arrayet sådan at det bliver en del af JavaScript-koden.

Jeg har konverteret initialerne til lowercase – ellers kunne man hurtigt få flere versioner af di samme initialer. Desuden ville det være en god ide at trimme initialerne for mellemrum foran og bagefter før at man laver sammenhængen.
Avatar billede nielle Nybegynder
15. september 2005 - 18:22 #7
d8tv> Hvad med noget respons her?
Avatar billede d8tv Nybegynder
16. september 2005 - 08:34 #8
Hej Nielle
Undskyld den lange svartid. Jeg har ikke brugt scriptet, men det kan sikkert bruges.
Hvis jeg skal checke en værdi i en eksisterende database, må jeg kigge på en asp-løsning. Ellers tak for hjælpen.
Hilsen
d8tv
Avatar billede roenving Novice
16. september 2005 - 14:59 #9
Tjah, jeg ville jo synes, at det var rimeligt at aflevere (i hvert fald nogle !-) point som tak for indsatsen, og derudover har du vel også fået en anelse mere fod på, hvad det er du skal gøre, så du faktisk har fået noget ud af kommentarerne !o]
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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