Avatar billede michaelfp Nybegynder
24. september 2004 - 13:06 Der er 6 kommentarer og
1 løsning

button skal køre en funktion

Jeg har brug for at kalde en funktion, når brugeren klikker på en button. Problemet er, at funktionen ikke køres ved et klik og jeg fornemmer på en del andre svar på eksperten, at det ikke er muligt i ASP. Kan man ikke gøre det?


Function Visdropdown
Response.Write "<select name=kontpdropdown size=1>"


  Do While Not CboRs.EOF
    If CboRs("kontaktid") = KontaktId Then
      Response.Write "<option value='" & CboRs("kontaktid") & "' selected>" & CboRs("navn") & "</option>"
    else
      Response.Write "<option value='" & CboRs("kontaktid") & "'>" & CboRs("navn") & "</option>"
    End if
    CboRs.MoveNext
  Loop
%> <INPUT maxLength=20 size=20 name=Kp value="<%=Kp%>"></td><%
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
End function

Indenfor <Form> har jeg:
<input type="button" onclick="visdropdown()" value="Oversigt">
Avatar billede fennec Nybegynder
24. september 2004 - 13:12 #1
Det har du ret i. Du kan ikke kalde en ASP funktion (serverside) med en knap (clienside)
Avatar billede fennec Nybegynder
24. september 2004 - 13:15 #2
Det ser dog ud til at du kan gøre noget andet. Udskriv dropdownen men skjul den med style.

Response.Write "<select name=""kontpdropdown"" size=""1"" style=""display:none;"">"

du kan så vise den igen med:
<input type="button" onclick="document.DinForm.kontpdropdown.style.display = inline;" value="Oversigt">
Avatar billede michaelfp Nybegynder
24. september 2004 - 13:26 #3
Fennec:
Tak for forslag. Det er desværre ikke nok at skule dropdown. Grunden til at jeg ønsker at have en knap er, at recordsettet indeholder over 3000 records og det tager derfor tid at fylde dropdown. Og for ikke at gøre det hver gang siden kaldes, havde jeg forestillet mig ovennævnte løsning.
Har du andre gode forslag?
Avatar billede fennec Nybegynder
24. september 2004 - 13:42 #4
Jeg ville lave en reload af siden:

<%
if request.querystring("mode") = "showDrop" then
  Response.Write "<select name=kontpdropdown size=1>"
  Do While Not CboRs.EOF
    If CboRs("kontaktid") = KontaktId Then
      Response.Write "<option value='" & CboRs("kontaktid") & "' selected>" & CboRs("navn") & "</option>"
    else
      Response.Write "<option value='" & CboRs("kontaktid") & "'>" & CboRs("navn") & "</option>"
    End if
    CboRs.MoveNext
  Loop
%> <INPUT maxLength=20 size=20 name=Kp value="<%=Kp%>"></td><%
  Response.Write "</select>"
  CboRs.Close
  Set CboRs = Nothing
  %></td>
<%
end if
%>
<input type="button" onclick="document.DinForm.action='denneSide.asp?mode=showDrop';document.DinForm.submit();" value="Oversigt">

Ellers kan du sætte en attribut på din script blok. Så det kører på serveren, men jeg ved ikke om du kan få database adgang på den måde. Dette er mit gæt på hvordan det så skulle se ud, men jeg lover intet, da jeg aldrig har prøvet at bruge runat server.

<script language="vbscript" runat="server">

Function Visdropdown
Response.Write "<select name=kontpdropdown size=1>"
  Do While Not CboRs.EOF
    If CboRs("kontaktid") = KontaktId Then
      Response.Write "<option value='" & CboRs("kontaktid") & "' selected>" & CboRs("navn") & "</option>"
    else
      Response.Write "<option value='" & CboRs("kontaktid") & "'>" & CboRs("navn") & "</option>"
    End if
    CboRs.MoveNext
  Loop
  Response.Write "</select>"
  response.write "<INPUT maxLength=20 size=20 name=Kp value="<%=Kp%>"></td>"
  CboRs.Close
  Set CboRs = Nothing
  response.write "</td>"
End function
</script>
Avatar billede michaelfp Nybegynder
24. september 2004 - 13:50 #5
Tak Fennec. Dit forslag med reload af siden ser rigtig godt og brugbart ud. Jeg prøver det senere/ i aften. Foreløbig tak - send du bare et svar.
Avatar billede michaelfp Nybegynder
24. september 2004 - 14:54 #6
Fennec: Det virker perfekt. tak for hjælpen.
Avatar billede fennec Nybegynder
27. september 2004 - 08:18 #7
no prob.
.o) <-- One Eyed Jack
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