Avatar billede kroger Nybegynder
13. august 2001 - 21:00 Der er 4 kommentarer og
1 løsning

Image \"submit\" i form

Jeg har kæmpet temmelig meget med denne her: Jeg har lavet en side der bruger paging, det virker på den måde at når man trykker på f.eks. \"næste\" knappen der er lavet ved hjælp af en form, bliver value læst af en case, problemet er at hvis jeg prøver at bruge et billede i stedet for den kønne grå knap, sender den ikke value-værdien med, og min paging virker ikke. Er der nogen der har et godt forslag til hvordan man løser dette?
Her er koden jeg har brugt:

<%
Const intPageSize = 5
Dim intCurrentPage, objConn, rs, strSQL, strconnection, mellemrum, beskrivelse
Dim intTotalPages, intI

If Request.ServerVariables(\"CONTENT_LENGTH\") = 0 Then
  intCurrentPage = 1
Else
  intCurrentPage = CInt(Request.Form(\"CurrentPage\"))
  Select Case Request.Form(\"Submit\")
      Case \"Forrige\"
        intCurrentPage = intCurrentPage - 1
      Case \"Næste\"
        intCurrentPage = intCurrentPage + 1
  End Select
  Set rs = Session(\"MyRecordset\")
End If

mellemrum = \"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"

\'Databaseforbindelse
Set objConn = Server.CreateObject(\"ADODB.Connection\")
strConnection = \"DSN=asp;Database=test;\"
strConnection = strConnection  & \"UID=test;PWD=test;\"
objConn.Open strConnection
  Set rs = Server.CreateObject(\"ADODB.Recordset\")
  rs.CursorLocation = adUseClient
  rs.CursorType = adOpenStatic
  rs.CacheSize = intPageSize
strSQL = \"Select * From ba Where kategori like \'%trommer%\' order by navn\"
  rs.Open strSQL, objConn, , , adCmdText
  Set rs.ActiveConnection = Nothing
  objConn.Close
  Set objConn = Nothing
  Set Session(\"MyRecordset\") = rs
rs.PageSize = intPageSize
If Not(rs.EOF) Then rs.AbsolutePage = intCurrentPage
intTotalPages = rs.PageCount
intI = 0
Do While ((Not rs.EOF) And (intI < rs.PageSize))
 
Response.Write rs(\"test\")
  intI = intI + 1
  rs.MoveNext
Loop
%>
<BR>
Side <%= intCurrentPage %> af <%= intTotalPages %><P>
<FORM ACTION=\"<%= Request.ServerVariables(\"SCRIPT_NAME\") %>\" METHOD=\"POST\">
<INPUT TYPE=\"Hidden\" NAME=\"CurrentPage\" VALUE=\"<%= intCurrentPage %>\">
<%
If intCurrentPage > 1 Then %>
<INPUT TYPE=\"Submit\" NAME=\"Submit\" VALUE=\"Forrige\">
<% End If
If intCurrentPage <> intTotalPages Then %>
<INPUT TYPE=\"Submit\" NAME=\"Submit\" VALUE=\"Næste\">
<% End If %>
</FORM>
Avatar billede krogstrup Nybegynder
13. august 2001 - 21:05 #1
Du skal ud i noget javascript som sætter et skjult felt til enten \"Forrige\" eller \"Næste\"

Altså

<INPUT TYPE=\"IMAGE\" SRC=\"BLABLA\" ONCLICK=\"setValue(\'Forrige\');\">
Avatar billede krogstrup Nybegynder
13. august 2001 - 21:08 #2
Noget lignende det her:

<script language=\"JavaScript\" type=\"text/javascript\">
function SetValue(doThis)
{document.FormNAME.InputNAME.value = doThis;}
</script>


Syntax er sikkert ikke 100% korrekt...!
Avatar billede kroger Nybegynder
13. august 2001 - 21:12 #3
Lige 2 sek. krogstrup, jeg var lidt for hurtig til at afvise dig, jeg vender tilbage når jeg har prøvet det.

M.V.H.
Danny
Avatar billede kroger Nybegynder
13. august 2001 - 21:18 #4
Da jeg ikke er den store ekspert i javascript, skal jeg lave den til noget i nærheden af f.eks.:
<script language=\"JavaScript\" type=\"text/javascript\">
function SetValue(doThis)
{document.test.test2.value = doThis;}
</script>
-----------
<FORM ACTION=\"<%= Request.ServerVariables(\"SCRIPT_NAME\") %>\" METHOD=\"POST\" name=\"test\">
<INPUT TYPE=\"image\" src=\"../../main_im/frem.gif\" NAME=\"test2\" ONCLICK=\"setValue(\'Næste\');\">

??


Avatar billede kroger Nybegynder
13. august 2001 - 21:52 #5
Jeg fandt ud af det på anden hånd:

Jeg gav de 2 billede knapper \"name\" til frem & tilbage, derefter ændrede jeg koden til:
If Request.Form(\"tilbage.X\") Then
      knap = \"tilbage\"
      End If
If Request.Form(\"frem.X\") Then
      knap = \"frem\"
     
      End If

If Request.ServerVariables(\"CONTENT_LENGTH\") = 0 Then
  intCurrentPage = 1
Else
  intCurrentPage = CInt(Request.Form(\"CurrentPage\"))
  Select Case knap
      Case \"tilbage\"
        intCurrentPage = intCurrentPage - 1
      Case \"frem\"
        intCurrentPage = intCurrentPage + 1
  End Select
  Set rs = Session(\"MyRecordset\")
End If

Jeg fandt nemlig ud af at hvis man i request.form skriver \".X\" bagefter name, ved den at det er en \"billed knap\"

Så så\'n er det
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