09. september 2005 - 19:59Der er
10 kommentarer og 1 løsning
Checkboxes der ikke er checked
Hej
Jeg er i gang med at lave en huskeliste, hvor brugeren skal afkrydse de ting, som brugeren har husket. Jeg vil så gerne have at de ting, som brugeren ikke har husket, skal kunne vises på en anden side. Mit problem er, at der med et post kun sendes de checkboxes værdier, som er checked.
Er der en måde at sende de checkboxe som ikke er checked i stedet for dem som er checked?
<?php if ($_POST[submit]) { if ($_POST[husk] == "") { echo "Du mangler at udfylde felt nr 3 fx"; } else { echo "Alle felter er blevet udfyldt, dermed har du intet glemt"; } } ?>
Med checkboxe sender den korrekt nok kun dem som er checked. Men omvendt har du checkbox 1-10, og 2,3,5,8,9 er checked. Så kan du jo finde ud af at 1,4,6,7,10 ikke er checked.
Det er fuldt ud korrekt at man, som aco foreslår, kan tjekke for, hvilke der ikke er checked ved at undersøge om hver enkelt variabel er sat - derved giver du også jakobdo ret i, at den kun sender dem som er checked.
Det er samtidig også korrekt at man, som jakobdo foreslår, kan tjekke, hvilke der er checked ud fra en liste.
Men problemet er at der er ca. 70 forskellige ting på den liste, som er lavet i forvejen, og jeg vil gerne kunne tilføje nogle ting uden at skulle ændre i scriptet - derfor kunne jeg godt tænke mig nogle andre metoder, end dem I har foreslået.
Kender I til en nem måde, det kan gøres i et andet sprog?
Du kan evt lave det med javascript, den kan løbe dem alle igennem og se om den er checked eller ej. Men hvis du tilføjer felter sliper du jo ikke uden om at skulle rette det script som tager imod svaret!
1) Du kan lave en liste af navne på checkbox i et <input type="hidden" name="c" value="denene,denanden,dentredie"> - så kan du på serversiden løbe listen igennem. 2) Erstat hver checkbox med 2 radioknapper, svarende til ja/nej.
Det er rigtigt hvad jakobdo siger, du kan ikke komme uden om at ændre dit script. Eller jo, man kunne lave en agtig gæstebog hvor du skriver den kode som indsætter en checkbox også hiver du beskeden ud igen ved hjælp af mysql og php. Så gør vi sådan at gæstebogen ikke kan håndtere html. så vil den bare printe en checkbox ud. Men det er vidst nok lige i overkanten :) Jeg ville foreslå dig til at bruge det jeg viste dig og bare indsætte det 69 gange mere eller hvor mange du nu skal bruge - det er ikke så svært. Bare copy´n´paste
Jeg tror jeg vil prøve at kigge på, hvordan det kan laves med javascript, ellers må jeg vel gå igang med at lave listen om til en masse radioknapper :(
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.