Avatar billede adis Nybegynder
20. april 2004 - 20:02 Der er 22 kommentarer og
1 løsning

Hjælp til checkbox i karaktergivning!

Hej, før i kigger på problemet vil jeg understrege at jeg er ny på området.

Mit problem er sikkert for mange simpelt men for mig er det ikke… Jeg skal lave en karaktergivning skema ved hjælp af checkbox. Man skal kunne afkrydse på kun to af checkbox’s, så der skal nok laves en JavaScript til dette. Når i kopier koden, og indsætter den vil i se hvordan det skal se ud.

Når man har afgivet karaktererne skal man også efter man har trykket på ”GEM” komme til næste side, hvor man samtidig laver UPDATE i DB med de givne karakterer, her skal man så vise resultat af karaktergivning.

Karaktererne skal gemmes i Accesses DB.

Hvis der er en som kan hjælpe mig, vil jeg gerne sende min DB til den pågældende person.

Min SQL sætning ser nok voldsomt ud, men jeg skal hente Fag der fra. Det vil sige kun de fag eleven har. (den kan måske laves mere simpelt, men det ved jeg ikke endnu, da der skal klikkes på en elev, og den skal så sende personen på denne side.

Jeg vil på forhånd sige mange tak til alle som hjælper mig. Der er 200 point til den der hjælper mig.

//Adis


<html>
<head>
<title>Karakter givning</title>
</head>

<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/Inetpub/wwwroot/data/PtoAinternet.mdb"

set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select FAG.Fag from ELEVER, HLEL, HOLD, FAG WHERE ELEVER.ElevId=3 AND ELEVER.ElevId=HLEL.ElevID AND HLEL.HoldId=HOLD.HoldId AND HOLD.FagId=FAG.FagId", conn
%>

<%
dim r_fnavn
sub request_fornavn
    r_fnavn = request("Fornavn")
end sub

Response.Write("Navn:" & r_fnavn)

spkarakter=Request.Form("spkarakter")
%>
<form name="spkarakter" action="test_radio.asp" method="post"><table width="100%" border="1" cellspacing="3">

<tr>
  <td width="20%" rowspan="2">Fag</td>
  <td colspan="2"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Meget <br />
  tilfredsstillende</font></div></td>
  <td colspan="2"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Tilfredsstillende</font></div></td>
<td colspan="2"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Mindre <br />
  tilfredsstillende</font></div></td>
<td width="31%" rowspan="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Bemerkning</font></td>
</tr>
<tr>
  <td width="8%"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Fagligt</font></div></td>
  <td width="8%"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Arbejds-indsats</font> </div></td>
  <td width="8%"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Fagligt</font></div></td>
  <td width="8%"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Arbejds-indsats</font> </div></td>
  <td width="8%"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Fagligt</font></div></td>
  <td width="8%"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Arbejds-indsats</font> </div></td>
  </tr>
  <% do until rs.EOF %>
<tr>
<%    for each x in rs.fields %>
  <td colspan="8"><table width="100%"  border="0">
    <tr>
    <td width="20%">


    <%
        response.write(x.value & "<BR>")
    %>
  </td>
  <td width="8%"><div align="center">
    <input type="checkbox" name="spkarakter"
    value="name1" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="checkbox" name="spkarakter"
    value="name2" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="checkbox" name="spkarakter"
    value="<name3" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="checkbox" name="spkarakter"
    value="name4" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="8%"><div align="center">
    <input type="checkbox" name="spkarakter"
    value="name5" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="8%"><div align="center">
    <input type="checkbox" name="spkarakter"
    value="name6" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="31%">&nbsp;</td>
    </tr>
  </table></td>
  </tr>
<%
next
  Response.Write("<br />")
  rs.MoveNext
%>
<% loop %>
</table>

<input type="submit" value="Submit">
</form>
<!-- her nede skal man nok lave om på hvordan man udskriver resultatet, er i tvivl hvordan -->
<%
if spkarakter<>"" then

  Response.Write("<p>Dine givne karakter er: " & spkarakter)%>
<%end if
%>

<%
rs.close
conn.close
%>
</body></html>
Avatar billede websam Nybegynder
20. april 2004 - 20:23 #1
Jeg ville andvende radio buttons istedet for så vil det automatisk kun kunne sætte 1 valg ved fagligt og et valg ved indsats jeg laver lige html'en om 2 min :o)

/Websam
Avatar billede adis Nybegynder
20. april 2004 - 20:25 #2
ja men med radio buttons kan du kun vælge en, hvor jeg skal kunne vælge 2 af de 6 mulige

/adis
Avatar billede adis Nybegynder
20. april 2004 - 20:26 #3
og det skal kun være en af faglig og en af arbejdsindsats
Avatar billede websam Nybegynder
20. april 2004 - 20:27 #4
Ja det ved jeg men jeg formoder at det et valg i fagligt og et valg i Arbejds-indsats eller er jeg galt på den der ?
Avatar billede websam Nybegynder
20. april 2004 - 20:32 #5
Ok så ska ldu oxo lve det således :

<td width="8%"><div align="center">
    <input type="radio" name="1" value="name1" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="2" value="name2" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="1" value="name3" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="2" value="name4" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="1" value="name5" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="2" value="name6" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>

Hvor input type="radio" name="1" er fagligt og input type="radio" name="2" er indsats så skal du blot sætte en value ind som passer og så på din side hvor du gemmer spørger du blot på Request.Form("1") og Request.Form("2") så har du hvad der er givet karakter efter. Kan du følge mig +

/Websam
Avatar billede websam Nybegynder
20. april 2004 - 20:35 #6
Og ændre dine valuse som følger : f1, f2, f3 for fagligt i1, i2, i3 for indsats

<td width="8%"><div align="center">
    <input type="radio" name="1" value="f1" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="2" value="i1" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="1" value="f2" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="2" value="i2" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="1" value="f3" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>
  <td width="8%"><div align="center">
    <input type="radio" name="2" value="i3" <%if Request.Form("checked") then Response.Write("Meget tilfredsstillende, Fagligt<br>")%>>   
  </div></td>

Så skulle det virke :o)

/Websam
Avatar billede adis Nybegynder
20. april 2004 - 20:37 #7
Jep, jeg kan, men nu har jeg altså ikke lavet en side hvor jeg gemmer. Den har jeg lidt problemer med. det kan du læse i min problem beskrivelse...
Avatar billede websam Nybegynder
20. april 2004 - 20:40 #8
Ja men det løser vi da bare har du lvet noget af det jeg kan se eller hvordan ligger det ?
Avatar billede adis Nybegynder
20. april 2004 - 20:43 #9
Den med radio buttons lavel lidt l..., Da jeg nu henter de fag fra DB, så laver jeg loop med buttons, så jeg ikke selv skal lave dem hver gang, men nu kigger den da også på den næste linje, og vil ikke give mig mulighed at have flere valgte end de 2... ??? hvorfor???

og nej jeg har ikke lavet noget, har tænkt mig at det også skal se som en tabel ud... måske er der ikke nødvendigt at skrive alt den tekst ud...
Avatar billede websam Nybegynder
20. april 2004 - 20:48 #10
Ok den fik jeg ikke helt fat i må jeg lige se den kode ?
Avatar billede adis Nybegynder
20. april 2004 - 20:53 #11
alt kode som jeg har er op i toppen, men den kode men radio buttons, som du sendte til mig er ikke helt optimalt. Den virke på den ene linje. men så snart jeg har flere linjer, så opstår problemet.

så kan man måske lave en name<% =var%> (eller noget lignende) som tæller op hver gang man laver loop...?
Avatar billede adis Nybegynder
20. april 2004 - 20:56 #12
det vil måske være nemmere for dig hvis du havde DB, så kan du se hvad jeg henter, plus du kan se resultat af koden...
Avatar billede websam Nybegynder
20. april 2004 - 21:01 #13
ok den havde jeg lige overset og så jeg lige komme med et godt råd start med at lave 3 sider en der lister alle elever, en hvor du kan give karakter og en der laver database opdateringen.

liste.asp
Viser en liste over elever med et link udfor hver elev som føre dig til form.asp

form.asp
På denne side viser du formularen hvor krakteren skal gives.

update.asp
Opdatere/indsætter i databasen og viser det resultat du lige har tastet i formularen

På denne måde optimere du din kode meget bedre :o)

/Websam
Avatar billede websam Nybegynder
20. april 2004 - 21:02 #14
jeps det ville da være en god ide :o)
Avatar billede adis Nybegynder
20. april 2004 - 21:05 #15
ok.. tak. Skal nok lave det... kommer tilbage når det er færdigt...
Avatar billede websam Nybegynder
20. april 2004 - 21:11 #16
Husk på at linket skal indeholde elevens id :

<a href="form.asp?Id=<%= rs("id")%>">Giv Karakter</a>
Avatar billede adis Nybegynder
20. april 2004 - 21:14 #17
ok, men kan du foreløbig hjælpe mig at lave update, da jeg ikke er sikker hvordan jeg skal skrive data til DB...
Avatar billede websam Nybegynder
20. april 2004 - 21:16 #18
ja det finder vi ud af men jeg skal bruge din db
Avatar billede adis Nybegynder
20. april 2004 - 21:17 #19
hvad er din e-mail?
Avatar billede adis Nybegynder
21. april 2004 - 09:15 #20
Nu hvor jeg ingen e-mail har fået kan jeg ikke sende dig db...
Avatar billede adis Nybegynder
22. april 2004 - 11:32 #21
lukket
Avatar billede websam Nybegynder
22. april 2004 - 20:32 #22
Ja det er jo oxo en måde at gøre det på du er hermed på min sorte liste !!!
Avatar billede adis Nybegynder
23. april 2004 - 10:00 #23
Men hvad skulle jeg dog gøre... Du svarede ikke, jeg havde brug for hjælp her og nu, så jeg lukkede spørgsmål da du ikke svarede. du kan da selvfølgeligt få dine points hvis du hjælper mig, da du har krav på dem...
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