18. februar 2010 - 17:24Der er
5 kommentarer og 1 løsning
HTML, checkbox values og if-betingelser....
bruger et spørgeskema pgr der hedder Analyzer.dk og har følgende problem:
Har et multiple-spg (checkbox) som nedenunder:
a: Ja b: Nej, udelad... c: Nej, inkludere....
Man må gerne svar b + c eller kun b eller kun c eller kun a
man må IKKE svare a + b eller a + c
Jeg har prøvet at tilpasse en tidligere html-kode der advarer hvis man har afkrydset mere end 3 svarmuligheder, hvilket virker fint! Den ser således ud:
Det er vist en korrigeret gentagelse af tidliger indlaeg. Hvis a=1 o.s.v. saa maa funktionen vel blive (ikke testet for jeg skal vaek)
<script> function CustomTjeck() { if (document.forms[0].elements["answer3"][1].checked) { if (document.forms[0].elements["answer3"][2].checked) { alert("a maa ikke kombineres med b eller c"); return false; } if (document.forms[0].elements["answer3"][3].checked) { alert("a maa ikke kombineres med b eller c"); return false; } } else return true; } </script>
Jeg ville sige tvaert imod, det skulle kun have vaeret return true. Stadig ikke testet (jeg har ikke haft tid til at bygge et eksempel op) hvis ikke a er valgt saa skal der returneres true. Hvis a er valgt og funktionen "overlever" testen om ogsaa b eller c er valgt skal der ogsaa returneres true.
Jeg har foroevrigt fulgt koden i din funktion saa noeje som muligt.
<script> function CustomTjeck() { if (document.forms[0].elements["answer3"][1].checked) { if (document.forms[0].elements["answer3"][2].checked or document.forms[0].elements["answer3"][3].checked) { alert("a maa ikke kombineres med b eller c"); return false; } } return true; } </script>
Hej Christian. Testede din første kode på arbejdet og den virkede NÆSTEN som den skulle, eneste problem var dog at når jeg kun valgte a så skete der intet!
Jeg testede så din anden kode og den virkede slet ikke, ved ikke helt hvorfor!
MEN din tankegang var rigtig, så jeg prøvede den første kode igen blot hvor jeg slettede "else" til sidst så den færdige kode ser således ud:
<script> function CustomTjeck() { if (document.forms[0].elements["answer3"][1].checked) { if (document.forms[0].elements["answer3"][2].checked) { alert("a maa ikke kombineres med b eller c"); return false; } if (document.forms[0].elements["answer3"][3].checked) { alert("a maa ikke kombineres med b eller c"); return false; } } return true; } </script>
Og nu virker den fuldstændig perfekt!! :)
Post lige som et svar så du kan få nogle credits! Good job :)
I min #3 ville jeg oprindelig kun rette at det sidste return true skulle vaere uden else, men saa gik jeg videre og proevede at kombinere de to if statements med en or og det siger du virker ikke. Men jeg er glad at det lykkedes ved faelles hjaelp.
jamen man kan sikkert også kombinere det så man får en kortere kode... det virkede dog ikke, men jeg er helt tilfreds med den anden kode :)
Synes godt om
Ny brugerNybegynder
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.