Avatar billede Slettet bruger
25. juni 2009 - 15:36 Der er 6 kommentarer og
1 løsning

Checkboxe forblive checkede ved submit?

Hey people...

På en side har jeg inddelt indholdet efter "regioner". Her kan man vælge mellem 5 forskellige regioner vha. checkboxes. Når man fx vælger region nordjylland og midtjylland udskriver den information fra disse nedenunder når man trykker på "vælg"/"submit".

Problemet
Siden fungerer i og for sig fint nok med undtagelse af at checkboxene ikke forbliver submittede. Når man checker nogle felter af og får dem vist vha. "vælg"/"submit" knappen forsvinder krydsene fra checkboxene igen. Hvordan får jeg dem til at blive?

Metode
Metoden hvorpå jeg gør ovenstående er i og for sig meget simpel og den ser i grove træk ud som nedenstående:

<form action="" method="post">
<input type="checkbox" value="1" name="nordjylland" />
<input type="checkbox" value="1" name="midtjylland" />
og resten af regionerne...

<input type="image" name="vaelg" value="send" class="input" src="images/buttonvaelg.png" />
</form>

<?php
  if($_POST['nordjylland']==1 ){
  ... der udskrives indhold fra nordjylland sektionen ...
}
  if($_POST['midtjylland']==1 ){
  ... der udskrives indhold fra midtjylland sektionen ...
}
og resten af regionerne...
?>
Avatar billede hmanback Nybegynder
25. juni 2009 - 17:17 #1
Noget ala:

echo '<form .....';

if($_POST['nordjylland']==1 ){
echo '<input type=\"checkbox\" value=\"1\" name=\"nordjylland\" checked="checked" />';
} else {
echo '<input type=\"checkbox\" value=\"1\" name=\"nordjylland\" />';
}

echo '</form>';
Avatar billede Slettet bruger
25. juni 2009 - 17:36 #2
Kanon, den gik lige i kassen..!

Smid et svar og du skal få points ;)
Avatar billede repox Seniormester
25. juni 2009 - 21:40 #3
Et forslag til forskønnelse:

<?php

    $regions["nordjylland"] = "Nordjylland";
    $regions["midtjylland"] = "Midtjylland";
    $regions["syddanmark"] = "Syddanmark";
    $regions["sjaelland"] = "Sjælland";
    $regions["hovedstaden"] = "Hovedstaden";

    foreach($regions as $key => $value)
    {
        if(isset($_POST[$key]))
            $checked = " checked=\"checked\"";
        else
            $checked = "";

        echo "<input type=\"checkbox\" value=\"1\" name=\"".$key."\"".$checked." />";
    }

?>
Avatar billede hmanback Nybegynder
26. juni 2009 - 10:26 #4
Brug repox' eksempel, meget pænere kode.
repox bør få point :)
Avatar billede repox Seniormester
26. juni 2009 - 10:52 #5
For min skyld ingen alarm; det var jo din løsning jeg bare pyntede lidt på...
Avatar billede Slettet bruger
30. juni 2009 - 16:29 #6
I må i hvert fald lige smide et svar hvis i ønsker points ;)
Avatar billede Slettet bruger
02. juli 2009 - 14:01 #7
nåå :/
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