Avatar billede mekaniker Nybegynder
01. marts 2003 - 13:48 Der er 1 kommentar og
1 løsning

4 submit knapper og ASP upload

Jeg har en form hvor jeg har 4 submit knapper:

<input type="hidden" name="slet_lille_1">
<input type="submit" value="Slet" onclick="document.form1.slet_lille_1.value='Lille1';document.form1.submit()" class="button">

<input type="hidden" name="slet_lille_2">
<input type="submit" value="Slet" onclick="document.form1.slet_lille_2.value='Lille2';document.form1.submit()" class="button">

<input type="hidden" name="slet_baggrund">
<input type="submit" value="Slet" onclick="document.form1.slet_baggrund.value='baggrund';document.form1.submit()" class="button">

<input type="hidden" name="slet_stor">
<input type="submit" value="Slet" onclick="document.form1.slet_stor.value='stor';document.form1.submit()" class="button">

På siden hvor formen bliver submittet til, ville jeg gerne finde ud af hvilken knap der er blevet trykket på.

Nu er det sådan at siden også bruges til noget upload af billeder, så det jeg har lavet ser sådan ud, men det virker desværre ikke..

if upload.form("slet_lille_1") is nothing = false Then

    SQL = "SELECT lille_billede_1 FROM side1 WHERE id=" & 1
    set rs = myconn.execute(SQL)
    billed = rs("lille_billede_1")
   
    if len("" & billed) = 0 or billed = "" then
        'Response.Redirect("side1.asp")
    else
        fil = "../../images/side1/" & billed
        fil = Server.MapPath(fil)
        Set Fil1 = fso.GetFile(fil)
        Fil1.Delete

        SQL1 = "Update Side1 set "
          SQL1 = SQL1 & "lille_billede_1= '" & no & "'"
        SQL1 = SQL1 & "Where Id ="& 1           
        myConn.execute(SQL1)
    end if 

    Set fso = nothing
    Set fil1 = nothing
    Set rs = nothing
    'Response.Redirect("side1.asp?slet=1")
'-----------------------------------------------------------------

'-----------------------------------------------------------------
'------ Hvis slet lille billede 2 bliver trykket ----
Elseif upload.form("slet_lille_2") is nothing = false Then

    SQL = "SELECT lille_billede_2 FROM side1 WHERE id=" & 1
    set rs = myconn.execute(SQL)
    billed = rs("lille_billede_2")
   
    if len("" & billed) = 0 or billed = ""then
        Response.Redirect("side1.asp")
    else
        fil = "../../images/side1/" & billed
        fil = Server.MapPath(fil)
        Set Fil1 = fso.GetFile(fil)
        Fil1.Delete

        SQL1 = "Update Side1 set "
          SQL1 = SQL1 & "lille_billede_2= '" & no & "'"
        SQL1 = SQL1 & "Where Id ="& 1           
        myConn.execute(SQL1)
    end if 

    Set fso = nothing
    Set fil1 = nothing
    Set rs = nothing
    Response.Redirect("side1.asp?slet=2")
'--------------------------------------------------------

'-----------------------------------------------------------------
'------ Hvis slet Baggrundsbillede bliver trykket ----
Elseif upload.form("slet_baggrund") is nothing = false Then

    SQL = "SELECT bg_billede FROM side1 WHERE id=" & 1
    set rs = myconn.execute(SQL)
    billed = rs("bg_billede")
   
    if len("" & billed) = 0 or billed = ""then
        Response.Redirect("side1.asp")
    else
        fil = "../../images/side1/" & billed
        fil = Server.MapPath(fil)
        Set Fil1 = fso.GetFile(fil)
        Fil1.Delete

        SQL1 = "Update Side1 set "
          SQL1 = SQL1 & "bg_billede= '" & no & "'"
        SQL1 = SQL1 & "Where Id ="& 1           
        myConn.execute(SQL1)
    end if 

    Set fso = nothing
    Set fil1 = nothing
    Set rs = nothing
    Response.Redirect("side1.asp?slet=baggrund")
'--------------------------------------------------------

'-----------------------------------------------------------------
'------ Hvis slet Stort billede bliver trykket ----
Elseif upload.form("slet_stor") is nothing = false Then

    SQL = "SELECT stort_billede FROM side1 WHERE id=" & 1
    set rs = myconn.execute(SQL)
    billed = rs("stort_billede")
   
    if len("" & billed) = 0 or billed = "" then
        Response.Redirect("side1.asp")
    else
        fil = "../../images/side1/" & billed
        fil = Server.MapPath(fil)
        Set Fil1 = fso.GetFile(fil)
        Fil1.Delete

        SQL1 = "Update stort_billede set "
          SQL1 = SQL1 & "stort_billede= '" & no & "'"
        SQL1 = SQL1 & "Where Id ="& 1           
        myConn.execute(SQL1)
    end if 

    Set fso = nothing
    Set fil1 = nothing
    Set rs = nothing
    Response.Redirect("side1.asp?slet=stor")

Jeg kan godt få det til at virke, hvis det havde været en alm. form altså uden enctype="multipart/form-data"

Det er som om at den første knap altid har en værdi, uanset hvilken kanp jeg trykker på.

//Mekaniker
Avatar billede mortrr Praktikant
01. marts 2003 - 14:47 #1
Hvis man giver sine submit-knapper et name fx bSubmit, kan man aflæse upload.form("bSubmit"), og hermed få den Value der står i knappen.
Men du er ude efter at alle dine knapper har value "slet", så du er nødt til at have en ekstra hidden som fortæller hvilken der er klikket på.

Du er på rette vej. Men det er nu nok med én hidden. Og så skal der lige rettes i scriptet på knapperne.

<input type="hidden" name="slet_hvilken">
<input type="submit" value="Slet" onclick="this.form.slet_hvilken.value='Lille1'" class="button">
<input type="submit" value="Slet" onclick="this.form.slet_hvilken.value='Lille2'" class="button">

osv
Du behøver ikke en submit, da det jo allerede er submit-knapper.
Hvis du ville have den med, skulle parantesen bare lige afsluttes:
<input type="submit" value="Slet" onclick="this.form.slet_baggrund.value='baggrund';this.form.submit()" class="button">

I siden der kontrollere hvad der skal gøres, kigger du så bare på indholdet af
if upload.form("slet_hvilken")="Lille1" Then

- Morten
Avatar billede mekaniker Nybegynder
01. marts 2003 - 15:31 #2
Tak for hjælpen, nu virker 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