Avatar billede set Nybegynder
31. oktober 2006 - 20:06 Der er 1 kommentar og
1 løsning

bruge en trykknap til kald af en funktion via onClick event

Jeg vil bruge en trykknap til at kalde en funktion der skal indsætte eller opdatere data i en accessdatabase.
Koden er på en separat side og indsættes via
<!-- #include file="Modetid.asp" -->.
Når jeg kører programmet så udføres onClick eventet allerede inden jeg har trykket på knappen.
Hvad gør jeg forkert??

Koden er nedenfor.

<%

    set bruger=Server.CreateObject("ADODB.Recordset")
    sqlbruger = "SELECT * from bruger WHERE CInt(brugerid) = '" & Request.Form("brugerID") & "'"
    bruger.Open sqlbruger, conn

if not bruger.eof then
   
    navn = bruger("navn")

    If bruger("Arbejde") = 0 then
%>
        <td width="12%">&nbsp;&nbsp;<font class="tekst4"><b><%=navn %></b></font></td>
        <td >&nbsp;&nbsp;
            <input type="button" value="Møde start" onclick="<%Tiden%>" name="start" class="tekstgreen4"/></td>
<%   
    Else
    If bruger("Arbejde") = 1 Then
%>
        <td width="12%">&nbsp;&nbsp;<font class="tekst4"><b><%=navn %></b></font></td>
        <td >&nbsp;&nbsp;<input type="button" onclick="<%Tiden%>" name="slut" class="tekstred4" value="Møde slut "/></td>
<%    End If
    End If
%>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2">&nbsp;</td>
<%   
end if

%>
<%   
        function DKdato(datDato)
          DKdato = day(datDato) & "-" & month(datDato) & "-" & year(datDato)
        end function
%>
<% sub Tiden

        set Jobbet=Server.CreateObject("ADODB.Recordset")

        set Tider=Server.CreateObject("ADODB.Recordset")
       
        if bruger("arbejde") = 0 then       
            sqlJobbet = "UPDATE Bruger SET Arbejde = '" & 1 & "' WHERE BrugerID = " & Request.Form("brugerID") & ""
            sqltider = "insert into Tidsreg (BrugerID, Startdato, Starttid, BrugerAktiv) values (" & Request.Form("brugerID") & ", '" & DKdato(FormatDateTime(Now(), vbShortDate)) & "','" & FormatDateTime(time(), vbShortTime) & "' ,1)"
        else       
        if bruger("arbejde") = 1 then       
            sqlJobbet = "UPDATE Bruger SET Arbejde = '" & 0 & "' WHERE BrugerID = " & Request.Form("brugerID") & ""
            sqltider = "UPDATE Tidsreg SET Slutdato = '" & DKdato(FormatDateTime(Now(), vbShortDate)) & "', Sluttid = '" & FormatDateTime(time(), vbShortTime) & "', BrugerAktiv = 0 WHERE BrugerID = " & Request.Form("brugerID") & ""
        end if
        end if
        Jobbet.Open sqlJobbet, conn
        Tider.Open sqltider, conn

end sub
%>
Avatar billede busschou Praktikant
31. oktober 2006 - 21:23 #1
nu er det sådan at onclick er javascript som kører på den enkelte persons computer
mens dit asp script kører centralt på serveren
Alt asp kode vil derfor udføres inden du ser din side, og derfor kaldes din funktion også inden.

Du kan i stedet opdatere din database ved fx. at submitte en form når klikkes på knappen, herved sender formen så data til serveren som så kan behandle det i asp
Avatar billede set Nybegynder
12. november 2006 - 12:32 #2
jeg lukker spørgsmålet, prøver at finde en anden løsning
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