Avatar billede fastwrite Nybegynder
13. september 2002 - 15:18 Der er 10 kommentarer og
2 løsninger

Opdatere en asp side

Hej. jeg har et lille problem.

Når jeg er i min kurv.asp for at se det jeg har valgt af forskellige produkter - kan jeg også ændre antallet af de bestilte produkter. Men når jeg trykker opdater, kommer jeg ikke videre. Den kommer i stedet med en fejl. - jeg skal vel bruge en form for location.reload? Jeg benytter mig af frames, og mit framevindue hedder 'detaljer'.
Avatar billede Slettet bruger
13. september 2002 - 15:22 #1
Du kan bruge:
parent.rammenavn.location.reload();

I det her tilfælde bliver det:
parent.detaljer.location.reload();
Avatar billede mccannon Nybegynder
13. september 2002 - 15:22 #2
hvilken fejl
?
Avatar billede fastwrite Nybegynder
13. september 2002 - 15:36 #3
jeg prøver lige.
Avatar billede fastwrite Nybegynder
13. september 2002 - 15:40 #4
fejlen er "Siden kan ikke opdateres igen uden at sende oplysningerne igen. Klik på forsøg for at sende oplysningerne igen, eller klik på annuller for at vende tilbage til den side, du forsøgte at få vist."

- er meddelelsen. Og så kan jeg ellers trykke på annuller omkring 255 gange, før den lukker ned.
Avatar billede Slettet bruger
13. september 2002 - 15:42 #5
Det skyldes at du sender data fra en form vha. POST. Hvis du laver det om til GET, vil problemet forsvinde.
Avatar billede fastwrite Nybegynder
13. september 2002 - 15:55 #6
prøver lige.
Avatar billede fastwrite Nybegynder
13. september 2002 - 16:20 #7
Nu er der gået helt ged i den... øv... det er vildt irriterende at den bare skriver at den ikke kan vise siden.. kan man ikke proppe en kode ind der på en måde debugger siden, så man har en lille chance for at se hvorfor siden ikke virker?
Avatar billede Slettet bruger
13. september 2002 - 16:22 #8
Hvad mener du med at der er gået ged i den? Hvis du har lavet form method om til GET skal du huske at anvende Request.QueryString() i stedet for Request.Form() på den side, hvor dataene submittes til.
Avatar billede fastwrite Nybegynder
13. september 2002 - 16:30 #9
Her er koden der viser produktet - inden man trykker "bestil produktet":

[... unødvendig kode for jer]
<form method="post" action="varer.asp?mode=tilkurv&kode=<%=rs("id")%>&pris=<%=rs("pris")%>" target="kurv">
  <table width="29%" border="0" class="tabel" height="20%">
    <tr>
      <td colspan="8"><img src="<%=(rs.Fields.Item("stinavn").Value)%>"></td>
    </tr>
        <tr>
      <td colspan="8"><b>Produkt:</b> <%=(rs.Fields.item("produktnavn").value)%>
    </tr>
    <tr>
      <td colspan="8"><b>Beskrivelse:</b> <%=(rs.Fields.Item("beskrivelse").Value)%>
    </tr>
    <tr>
      <td colspan="8"><b>Pris:</b> <%=formatnumber(rs("pris"),2)%>
    </tr>
    <tr>
      <td colspan="9"> Stk:
        <input type="text" size="6" name="antal">
      </td>
    </tr>
    <tr>
      <td colspan="9">
        <input type="submit" value="Bestil produkt" name="submit">
      </td>
    </tr>
  </table>
</form>
<%
End If
%>
<%
Conn.Close
set Conn = Nothing
%>
-------------------------- og koden der skal opdatere datene med antal og pris:

[... unødvendig kode for jer]

If Request("mode") = "tilkurv" Then

    '\\ Start Tjekker om Antallet man har skrevet er et tal eller ingen tegn
    If IsNumeric(request.form("antal")) or request.form("antal") = "" Then

        '\\ Start Skriver antallet i en variabel
        if request.form("antal") = "" then
            antal = 1
        else
            antal = request.form("antal")
        end if
        '// Slut Skriver antallet i en variabel

        '\\ Start Tjekker om stregkoden allerede er lagt i db'en en gang
        if session("kode" & request("kode")) = "" then

            '\\ Start hvis ikke stregkoden findes i en session

            if session("kurvnr") = "" or session("kurvnr") = 0 then
                session("kurvnr") = 1
            else
                session("kurvnr") = session("kurvnr") + 1
            end if

            session("vare" & session("kurvnr")) = request("kode") & " " & antal
            session("kode" & request("kode")) = session("kurvnr")

            '// Slut hvis ikke stregkoden findes i en session

        else

            '\\ Start hvis stregkoden findes i en session

            antal2 = Split(session("vare" & session("kode" & request("kode"))), " ")
            session("vare" & session("kode" & request("kode"))) = request("kode") & " " & Int(antal) + antal2(1)

            '// Slut hvis stregkoden findes i en session

        end if
        '// Slut Tjekker om stregkoden allerede er lagt i db'en en gang

    end if
    '// Slut Tjekker om Antallet man har skrevet er et tal

end if
'// Slut ASP'en når man lægger noget i indkøbskurven


'\\ Start ASP'en tom indkøbskurv
if request("mode") = "tomkurv" then

    for i = 1 to session("kurvnr")

        tekst = Split(session("vare" & i), " ")
        session("kode" & tekst(0)) = ""
        session("vare" & i) = ""

    next

    session("kurvnr") = 0
    %>
    <script language="JavaScript">
    top.side.location.reload(true);
    </script>
    <%
end if
'// Slut ASP'en tom indkøbskurv


- som I kan se benytter jeg asp?mode=tilkurv - men nu virker den bare ikke mere med at opdatere.. viser bare den sædvanlige fejlside.
Avatar billede fastwrite Nybegynder
13. september 2002 - 16:46 #10
ok - phew - nu fik jeg den tilbage til 'normal state'. nu prøver jeg roligt igen :o)
Avatar billede steen Nybegynder
16. september 2002 - 21:59 #11
[... unødvendig kode for jer]

If Request("mode") = "tilkurv" Then

    '\\ Start Tjekker om Antallet man har skrevet er et tal eller ingen tegn
    If IsNumeric(request.form("antal")) or request.form("antal") = "" Then

        '\\ Start Skriver antallet i en variabel
        if request.form("antal") = "" then
            antal = 1
        else
            antal = request.form("antal")
        end if
        '// Slut Skriver antallet i en variabel

        '\\ Start Tjekker om stregkoden allerede er lagt i db'en en gang
        if session("kode" & request("kode")) = "" then

            '\\ Start hvis ikke stregkoden findes i en session

            if session("kurvnr") = "" or session("kurvnr") = 0 then
                session("kurvnr") = 1
            else
                session("kurvnr") = session("kurvnr") + 1
            end if

            session("vare" & session("kurvnr")) = request("kode") & " " & antal
            session("kode" & request("kode")) = session("kurvnr")

            '// Slut hvis ikke stregkoden findes i en session

        else

            '\\ Start hvis stregkoden findes i en session

            antal2 = Split(session("vare" & session("kode" & request("kode"))), " ")
            session("vare" & session("kode" & request("kode"))) = request("kode") & " " & Int(antal) + antal2(1)

            '// Slut hvis stregkoden findes i en session

        end if
        '// Slut Tjekker om stregkoden allerede er lagt i db'en en gang

    end if
    '// Slut Tjekker om Antallet man har skrevet er et tal
  Response.redirect("varer.asp")
end if
'// Slut ASP'en når man lægger noget i indkøbskurven


'\\ Start ASP'en tom indkøbskurv
if request("mode") = "tomkurv" then

    for i = 1 to session("kurvnr")

        tekst = Split(session("vare" & i), " ")
        session("kode" & tekst(0)) = ""
        session("vare" & i) = ""

    next

    session("kurvnr") = 0
    %>
    <script language="JavaScript">
    top.side.location.reload(true);
    </script>
    <%
end if
'// Slut ASP'en tom indkøbskurv
Avatar billede fastwrite Nybegynder
17. september 2002 - 23:41 #12
Jeg prøver.. i morgen... takker foreløbig for hjælpen!
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