Avatar billede japlex Nybegynder
19. oktober 2002 - 12:11 Der er 20 kommentarer og
1 løsning

En variabel fra en funktion skal smides til en database via ASP

Jeg har brug for et stykke kode der kan smide indholdet af en variabel fra et JavaScript til en database på serveren via ASP!!

Her er JavaScript funktionen - variabelen omtalt er 'streng':

function doit(underviser) {
        var i = 0;
        var streng = "";
        while (i<92) {
            var chk = eval("document.all.checkboks" +i +".checked");
           
            if (chk) {
                var ctrlname1 = "fagomraade" +i;
                var fagomraade = document.frmTabel.elements[ctrlname1].value;
                var ctrlname2 = "kursustitel" +i;
                var kursustitel = document.frmTabel.elements[ctrlname2].value;
                var ctrlname3 = "kommentar" +i;
                var kommentar = document.frmTabel.elements[ctrlname3].value;
                streng = streng +underviser + ";" +fagomraade +";" +kursustitel +";" +kommentar +":";
            }
            i++;
           
        }
        alert(streng);
    }
Avatar billede hells Nybegynder
19. oktober 2002 - 12:35 #1
følgende skulle virke, hvis det er en access database:
<script type="text/javascript">
function doit(underviser) {
        var i = 0;
        var streng = "";
        while (i<92) {
            var chk = eval("document.all.checkboks" +i +".checked");
           
            if (chk) {
                var ctrlname1 = "fagomraade" +i;
                var fagomraade = document.frmTabel.elements[ctrlname1].value;
                var ctrlname2 = "kursustitel" +i;
                var kursustitel = document.frmTabel.elements[ctrlname2].value;
                var ctrlname3 = "kommentar" +i;
                var kommentar = document.frmTabel.elements[ctrlname3].value;
                streng = streng +underviser + ";" +fagomraade +";" +kursustitel +";" +kommentar +":";
            }
            i++;
           
        }
        alert(streng);
    location.href = location.href + "?streng=" + streng
    }
</script>
<%

If Request.QueryString("streng") <> "" Then
    'connection-objektet skabes:
    Set Conn = Server.CreateObject("ADODB.Connection")

    'i næste linie skal du indsætte den rigtige sti til databasen
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/sti/til/database.mdb")

    'åbn forbindelsen:
    Conn.Open DSN

    'indsæt de rigtige navne på tabel og felt i næste linie
    strSQL = "Insert into tabelnavn (streng) values ('" & Request.QueryString("streng") & "')"

    Conn.Execute(strSQL)

    'ryd op:
    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede japlex Nybegynder
19. oktober 2002 - 12:38 #2
Det ser fornuftigt ud !!

Lige et spørgsmål - Ligger hele koden på samme side?
Avatar billede hells Nybegynder
19. oktober 2002 - 12:39 #3
ja, det gør den
Avatar billede japlex Nybegynder
19. oktober 2002 - 12:42 #4
OK - jeg prøver lige og vender tilbage!
Avatar billede japlex Nybegynder
19. oktober 2002 - 13:06 #5
OK - selve skrivningen til databasen fungerer fint, men følgende ser ud til ikke at virke:


location.href = location.href + "?streng=" + streng

Det virker som om querystring er tom - der bliver i hvert fald ikke skrevet noget i felterne i databasen!!

Det skal lige nævnes at JavaScript funktionen kaldes ved OnClick event på en submit knap der befinder sig på samme asp-side som JavaScriptet

Hvad går der galt
Avatar billede hells Nybegynder
19. oktober 2002 - 13:14 #6
prøv lige at kald funktionen ved onclick på en <input type="button" /> i stedet.
Avatar billede japlex Nybegynder
19. oktober 2002 - 13:37 #7
ingen forskel
Avatar billede hells Nybegynder
19. oktober 2002 - 13:55 #8
og der indsættes en post i databasen?
Avatar billede japlex Nybegynder
19. oktober 2002 - 13:58 #9
Ja men intet indhold i feltet
Avatar billede hells Nybegynder
19. oktober 2002 - 14:15 #10
så må denne
location.href = location.href + "?streng=" + streng
også virke, da der ikke vil blive sat noget i databasen med mindre variablen, streng, bliver sendt med i adresselinien
Avatar billede japlex Nybegynder
19. oktober 2002 - 14:22 #11
ja pga. "If Request.QueryString("streng") <> "" Then" men hvad indeholder "streng" så??
Avatar billede hells Nybegynder
19. oktober 2002 - 14:23 #12
prøv at kigge i adresselinien
Avatar billede japlex Nybegynder
19. oktober 2002 - 14:25 #13
der står "http://localhost/itkvpersonale/default.asp" både før og efter klik op knappen!
Avatar billede japlex Nybegynder
19. oktober 2002 - 15:47 #14
hells >> er du stadig med mig??
Avatar billede hells Nybegynder
19. oktober 2002 - 15:53 #15
ja, men jeg fatter bare ikke hvorfor det ikke virker
Avatar billede japlex Nybegynder
19. oktober 2002 - 15:55 #16
Ja - for i linien med "alert(streng)" får jeg fint en boks op med indholdet af variablen, men den bliver tilsyneladende ikke sendt med i querystring??
Avatar billede japlex Nybegynder
19. oktober 2002 - 15:55 #17
eller også er min "request.querystring(streng)" forkert??
Avatar billede hells Nybegynder
19. oktober 2002 - 16:00 #18
ikke hvis du skriver den sådan:
request.querystring("streng")
Avatar billede japlex Nybegynder
19. oktober 2002 - 16:05 #19
det gør jeg nu også ;-(
Avatar billede japlex Nybegynder
19. oktober 2002 - 17:14 #20
Mærkeligt - lige pludselig virker det og jeg får min querystring med over!!

Skal du ikke have lidt point??
Avatar billede hells Nybegynder
19. oktober 2002 - 19:42 #21
jo tak
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