19. september 2001 - 13:04
Der er
15 kommentarer og 2 løsninger
Validering af checkboks
Jeg skal med et javascript kunne tjekke på om et vilkårligt antal checkbokse med tilhørende hidden variabel er tjekket. Jeg har prøvet at lave et javascript der via en for-løkke for (i=0;i<[antal poster i db];i++) if (theform.check+i.value == \"on\") GØR ET ELLER ANDET.... Men dette virker ikke. Det er som om den altid står til at være sand. Håber der er nogle der kan hjælpe. Mvh Peer G ;-)
Annonceindlæg fra Computerworld
19. september 2001 - 13:07
#1
<ole> if (theform.check+i.checked == \"true\") /mvh </bole>
19. september 2001 - 13:08
#2
...eller: if (document.formNavn.check+i.checked == \"true\") ...afhængig af, hvad \'theform\' er for noget :) /mvh
19. september 2001 - 13:15
#3
/olebole Det virker ski ikke.
19. september 2001 - 13:21
#4
<jsp:useBean id=\"q\" class=\"dk.infotrio.mobitrack.beans.Vogn\" scope=\"page\"/> <%@ page import=\"java.sql.*\" %> <!DOCTYPE HTML PUBLIC =-//W3C//DTD HTML 4.0 Transitional//EN\"> <HTML> <HEAD> <LINK href=\"../css/mobitrack.css\" type=text/css rel=StyleSheet> <TITLE>::: InfoTrio - MobiTrack :::</TITLE> <SCRIPT src=\"../js/functions.js\"></SCRIPT> </HEAD> <SCRIPT language=JavaScript> <!-- function makeCheck(theform) { c = parseInt(theform.count.value); check = \"\"; urlstreng = \"\"; vogn = \"\"; for (i=0;i<c;i++){ if(theform.check+i.value == true) urlstreng = theform.vogn+i.value; } if (urlstreng == \"\") { alert(\"Husk at vælge vogne\") return (false);} else { theform.url.value=urlstreng; return (true); } } //--> </SCRIPT> <BODY bgcolor=\"#516093\" TOPMARGIN=\"0\"> <h1><center>Tracking - Vis vogne</center></h1> <table border=\"0\" width=\"100%\" cellspacing=\"2\" cellpadding=\"0\"> <tr> <td></td> <td width=\"30\"></td> <td width=\"100\"></td> <td width=\"200\"></td> <td width=\"100\"></td> <td width=\"100\" align=\"right\"></td> <td></td> </tr> <tr> <td></td> <td width=\"30\" bgcolor=\"#899DB9\" align=\"left\"> <p align=\"left\"><b> Vælg</b></p> </td> <td width=\"100\" bgcolor=\"#899DB9\" align=\"left\"><b> Vognnr.</b></td> <td width=\"200\" bgcolor=\"#899DB9\" align=\"left\"><b> Chauffør</b></td> <td width=\"100\" bgcolor=\"#899DB9\" align=\"left\"><b> Postnr.</b></td> <td width=\"100\" bgcolor=\"#899DB9\" align=\"right\"> <p align=\"right\"><b> Hastighed </b></p> </td> <td></td> </tr> <form method=\"post\" action=\"viskort.jsp\" > <% int count=0; try { ResultSet rs = q.visVogne(); while (rs.next()) { out.println(\"<tr><td></td>\"); out.println(\"<td width=30 align=left> <input type=checkbox class=none name=check\"+count+\"></td>\"); out.println(\"<td width=100> \" + rs.getInt(\"vognnr\") + \"</td>\"); out.println(\"<input type=hidden name=vogn\"+count+\" value=\"+ rs.getInt(\"vognnr\")+\"></td>\"); out.println(\"<td width=200> \" + rs.getString(\"navn\") + \"</td>\"); out.println(\"<td width=100> \" + rs.getInt(\"V_POSTNR\") + \"</td>\"); out.println(\"<td width=100 align=right> \" + Math.floor(rs.getDouble(\"Speed\")) + \" km/t </td>\"); out.println(\"<td></td></tr>\"); count++; } } catch (Exception e) { } %> </table> <br> <input type=\"hidden\" name=\"count\" value=\"<%=count%>\"> <input type=\"hidden\" name=\"url\"> <center> <input type=image img src=\"../images/visvogne.gif\" class=\"none\" alt=\"Vis de valgte vogne på et kort\" > </center> </form> </BODY> </HTML>
19. september 2001 - 13:22
#5
Forresten lige lidt kildekode så det er lidt nemmere at forstå hvad jeg gerne vil.
19. september 2001 - 13:26
#6
Du kører jo aldrig din funktion =oD Prøv: <form method=\"post\" action=\"viskort.jsp\" onsubmit=\"return makeCheck(this);\">
19. september 2001 - 13:44
#7
for (i=0;i<[antal poster i db];i++) if (theform.check+i.value == \"on\") // gal betingelse. hvor skal browseren vise fra at det + skal lægger check og i sammen og ikke lægge thefor.check og i.value sammen. prøv med: for (i=0;i<[antal poster i db];i++) if (theform.elements[\'check\'+i].value == \"on\") mvh JakobA
19. september 2001 - 13:46
#8
Ups. vise far -> vide fra
19. september 2001 - 13:48
#9
Jakob >> den er da vist ikke meget bedre :)
19. september 2001 - 13:52
#10
Næ den er ikke nok, men så adresserer han i det mindste checkboksene. Når vi så tilføjer dit svar bliver det: for (i=0;i<[antal poster i db];i++) if (theform.elements[\'check\'+i].checked == \"true\") så vil jeg tro det hele virker. mvh JakobA
19. september 2001 - 14:05
#11
Da du ikke behøver at kalde med array-notation i en form, men sagtens kan bruge dot-notation, adskiller de sig vist ikke så meget fra hinanden :) /mvh
19. september 2001 - 14:31
#12
19. september 2001 - 14:38
#13
Jamen, Jakob....kan du ikke få fat i et tekstfelt med: document.formnavn.feltnavn ?
19. september 2001 - 14:40
#14
Undskyld...!!!!!!! Det er mig, der er et kvaj! :)
19. september 2001 - 14:49
#15
Olebole >> Det vil jeg ikke gå med til at du er! For hvis jeg gjorde måtte jeg også indrømme at jeg ofter er et kvaj :-)) mvh JakobA
19. september 2001 - 14:50
#16
Okay....den trækker jeg i mig igen =o)
20. september 2001 - 02:38
#17
Dette burde nu være nok: for (var i=0;i<[antal poster i db];i++){ if (theform[\"check\" + i].checked){ // Noget; } } /Thor
Vi tilbyder markedets bedste kurser inden for webudvikling