Avatar billede Slettet bruger
13. april 2002 - 10:30 Der er 10 kommentarer

asp / javascript problem

Jeg har en side der indeholder bl.a indeholder en formular. På denne form er der en "onsubmit return validateall ()" som er et script der checker om tingene er rigtigt udfyldt. Hvis de er korrekt udfyldt indsættes de så i db. Ellers bliver der vist en alert med fejlmeddelelse. Men jeg skal også lave det således at hvis tingene er korrekt udfyldt, skal den checke om deres profilnavn allerede findes i databasen. Hvis det findes skal den IKKE indsætte data i db, men i stedet kaste en tilbage til formularsiden. Umiddelbart er dette ikke noget problem at lave, man kan fx bruge response.redirect("side").Problemet ved dette er at hvis man bliver directet tilbage til siden skal man udfylde det hele på ny igen, og det er ikke godt nok. Jeg har også haft lavet det således at hvis profilen findes i db, køres der er script "history.bacvk(1). MEN så er det IKKE muligt at lave endnu en fejlmedelelse i det samme script. OK?? Håber i forstår spørgsmålet eller spørg :))
Avatar billede dcoder Nybegynder
13. april 2002 - 10:36 #1
Du kunne jo indsætte alle form-dataene i response.redirect("side") så de bliver sendt med tilbage, det fylder lidt men er nok den nemmeste måde at gøre det på vil jeg tro... Håber du forstår hvad jeg mener :) Er ikke så genial til ASP, og er pisse træt, men ellers må jeg jo forsøge at uddybe det lidt :)
Avatar billede erikjacobsen Ekspert
13. april 2002 - 10:36 #2
Når du viser din form igen for brugeren, skal du selv give værdierne. Ekesmpel:


...
  <input type="text" name="fornavn" value="<%= request.form("fornavn") %>">
...

Lidt besværligt, men meget brugervenligt
Avatar billede Slettet bruger
13. april 2002 - 10:49 #3
Havde også selv tænkt på det, men det er ALT for besværligt, da der er MANGE felter i formen. Desuden er der checkboxe, og skal jeg have fat i javascript igen, og det er kedt :)))
Avatar billede erikjacobsen Ekspert
13. april 2002 - 10:50 #4
"ALT for besværligt" .... tjah, det må du jo selv om :)
Avatar billede Slettet bruger
13. april 2002 - 11:07 #5
Kan det ikke gøres på en anden måde ?
Avatar billede a1a1 Novice
13. april 2002 - 13:31 #6
jo...:)

hvis du opretter på samme side som du skriver ind...

i din form fx.
<input type=hidden name=todo value=opret>

i toppen af din side requester du "todo" med request.form("todo")
og så
If todo = "opret" then
request.form("navn")
.... osv....
'check db
if "is in db" then
fejltekst = "der er en med det navn"
end If
End if

og så et sted kan du jo lave
if fejltekst <>"" Then
response.write fejltekst
end if

:) ?
Avatar billede Slettet bruger
13. april 2002 - 14:17 #7
Problemet ved dette er så, at al teksten vil forsvinde hvis fx brugeren findes i databasen. Så vil den komme med en fejlmeddelelse og så vil den tekst som brugeren har indtastet være forsvundet
Avatar billede a1a1 Novice
18. april 2002 - 10:28 #8
nej du laver bare dine forme ala

respoonse.Write "<input type=text name=navn value=" & navn & ">"

(og variablen navn sættes (if todo..): navn = request.form("navn") )
Avatar billede Slettet bruger
18. april 2002 - 10:44 #9
Det forstår jeg ikke helt a1. Kan du ikke, hvis du har et eksempel hvor det hele er med, prøve at sætte det ind.
Avatar billede a1a1 Novice
18. april 2002 - 11:02 #10
her er et eks
(uden check i database...:) )

<%
isok = false
todo = Request.form("todo")
If todo = "opret" then
    navn = request.form("navn")
    if navn <> "" Then
        ' check om bruger er i db
        indb = false
        if indb = true then
            fejltekst = "der er en med det navn"
            isok = false
        Else
            fejltekst = "Du er nu oprettet, navn: " & navn
            isok = true
        end If
    Else
        fejltekst = "Du skal skrive et navn<br>"
    End If

End if
if fejltekst <>"" Then
    response.write fejltekst & "<br>"
end if

if isok = false then
%>
<form action="formtest.asp" method="post">
<input type=hidden name=todo value=opret>
<input type="text" name="navn" value="<%=navn%>">
<br>
<input type="submit" value="Opret navn">
</form>
<% end if %>
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
Kurser inden for grundlæggende programmering

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