Avatar billede dkkarpen Nybegynder
24. november 2000 - 12:01 Der er 12 kommentarer og
1 løsning

Skift checkboxnavn ved onclick

Halløj

Jeg submitter en form ved en onclick event på en checkbox. Da jeg har en række af checkboxes vil jeg gerne kunne adskille den valgte fra de øvrige. Dette kunne f.eks. være ved at give den valgte checkbox en extension til dens eksisterende navn. Hvordan gør jeg det?
Avatar billede stigc Nybegynder
24. november 2000 - 12:19 #1
du kang give dem hver sit navn, eller hver deres value´. Det kan fu bruge på næste  side til at aflæse hvilken der er trykket på!
Avatar billede dkkarpen Nybegynder
24. november 2000 - 12:33 #2
Ok jeg forklarede måske ikke forudsætningerne godt nok. Checkboxene er udskrevet udfra indholdet af en database. Så jeg kan ikke helt se hvordan jeg ordner det på din måde.
Avatar billede erikjacobsen Ekspert
24. november 2000 - 13:12 #3
Du kunne kopiere værdien af den aftrykkede (!) checkbox over i et
hidden felt med fast navn. 2 secs.
Avatar billede erikjacobsen Ekspert
24. november 2000 - 13:15 #4
Ok, en skitse. Feltet er ikke \"hidden\", men så kan vi se hvad der sker.
Og der bliver ikke efterfølgende submittet. Men ideen er der.

<form method=post action=\"\">
<input type=\"checkbox\" name=\"blop\" value=\"1\" onclick=\"this.form.ud.value=this.value\"><br>
<input type=\"checkbox\" name=\"blap\" value=\"2\" onclick=\"this.form.ud.value=this.value\"><br>
<input type=\"checkbox\" name=\"blup\" value=\"3\" onclick=\"this.form.ud.value=this.value\"><br>
<input type=\"checkbox\" name=\"blyp\" value=\"4\" onclick=\"this.form.ud.value=this.value\"><br>
<input type=\"text\" name=\"ud\">
</form>
Avatar billede dkkarpen Nybegynder
24. november 2000 - 13:22 #5
Prøv lige at se her Erik:

<form action=update.asp?mode=arkiv method=post name=formarkiv>
<%
    Set myConn = Server.CreateObject(\"ADODB.Connection\")
    strSQL = \"SELECT * FROM presse order by oprettet desc\"
    myConn.Open Connection
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        Response.Write \"<table border=0 cellpadding=10 cellspacing=0 class=whitetext>\"
        Response.Write \"<tr><td><b>Velkommen til Easy Update.</b><br>Du kan redigere og slette dine pressemeddelelser ved at klikke \"\"Rediger\"\" eller \"\"Slet\"\". Hvis du vælger \"\"Opret\"\" kan du oprette en nye pressemeddelelse. Med vis knappen vises databasen pressemeddelelser som de tager sig ud på hjemmesiden.<br><br>\"
        Response.Write \"<table class=whitetext cellpadding=1>\"
        Response.Write \"<tr bgcolor=#00013A><td>Oprettet</td><td>Titel</td><td>Sti</td><td>&nbsp;&nbsp;Editering</td><td>&nbsp;Arkiv&nbsp;</td></tr>\"
        Do While Not rs.EOF
            tekst = rs(\"tekst\")
            titel = rs(\"titel\")
            Response.Write \"<tr><td>\" & rs(\"oprettet\") & \"</td><td>\"
           
Response.Write titel           
            Response.Write \"</td><td><input size=30 type=text value=\"\"java script:multiload(\'nyheder/menu_pressemeddelelser.htm\',\'nyheder/artikel.asp?id=\" & rs(\"presseid\") & \"\')\"\"></td><td><a href=update.asp?mode=rediger&id=\" & rs(\"presseid\") & \"> - Rediger</a><a href=update.asp?mode=slet_process&id=\" & rs(\"presseid\") & \"> Slet</a></td>\" &_
            \"<td align=center><input type=checkbox name=arkivch\" & rs(\"presseid\") & \" value=\" & rs(\"presseid\")
            if rs(\"arkiv\") = \"Sand\" Then
            Response.Write \" checked\"
            end if
            Response.Write \" OnClick=\"\"document.forms.formarkiv.submit()\"\"><br></td></td></tr>\"
            rs.MoveNext
        Loop
        Response.Write \"</table><br></td></tr></table>\"
    Else
        Response.Write \"<p>Databasen er tom!</p>\"
    End If
    myConn.Close
    Set myConn = Nothing
%>
</form>

Request.form side:

    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    SQL = \"SELECT * FROM presse order by oprettet desc\"
    Conn.Open Connection
    Set rs = Conn.Execute(SQL)
    If Not (rs.BOF Or rs.EOF) Then
        Do While Not rs.EOF
id = rs(\"presseid\")

if Request.Form(\"inputnavn\") <> \"\" then arkiv = 1 else arkiv = 0 end if
Set myConn = Server.CreateObject(\"ADODB.Connection\")
SQL = \"update presse set arkiv = \'\"&arkiv&\"\' where presseID = \" & id
myConn.open Connection
Response.Write SQL & \"<br>\"
myConn.execute SQL

        rs.MoveNext
        Loop
    Else
        Response.Write \"<p>Databasen er tom!</p>\"
    End If
    Conn.Close
    Set Conn = Nothing

Min i´de med dette forsøg var at update id\'er men det virker som bekendt ikke da en ikke checked box mangler en value.

Men jeg kan ikke rigtig se iéen med din kode Erik.
Avatar billede dkkarpen Nybegynder
24. november 2000 - 13:23 #6
Ok nu ser jeg idéen me din kode. Men hvad så når der skal opdateres med en none value??
Avatar billede erikjacobsen Ekspert
24. november 2000 - 13:25 #7
Skal du bare have navnet over?
<input type=\"checkbox\" name=\"blap\" value=\"2\" onclick=\"this.form.ud.value=this.name\"><br>
Avatar billede dkkarpen Nybegynder
24. november 2000 - 13:36 #8
Navnet og value
Avatar billede dkkarpen Nybegynder
24. november 2000 - 13:37 #9
gerne således: <input type=text value=\"navn, value\" name=ud>
Avatar billede erikjacobsen Ekspert
24. november 2000 - 13:48 #10
SÅ må du have dig to felter. Et til navnet og et til værdien. Ik\'os\'?
Avatar billede dkkarpen Nybegynder
24. november 2000 - 13:50 #11
Jo du har fat i noget. Tak for det ;-)
Avatar billede dkkarpen Nybegynder
24. november 2000 - 13:51 #12
Gider du ikke se på denne her:

http://www.eksperten.dk/spm/28992
Avatar billede erikjacobsen Ekspert
24. november 2000 - 13:52 #13
Hovsa - det var en gammel sag ;-)
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