Zustand Checkbox bei Post-Message



  • Hi,

    kann man es erzwingen, dass der Zustand einer Checkbox (checked, oder not-checked), die sich innerhalb eines Formulars befindet, immer bei einer Post-Message übertragen wird?

    Gruß
    Karl



  • Ich verstehe die Frage nicht - Wenn die Checkbox Teil des Formulars ist, wird sie auch übertragen. 😕



  • Hallo,

    nein wird sie nicht. Der Zustand wird nur übertragen, wenn die Checkbox Status 1 (on) hat.

    // liefert den Beweis:
    var_dump($_POST);
    // so lässt sich der Zustand trotzdem festlegen
    $checked = (isset($_POST['checkbox']&&$_POST['checkbox']=="on" ? 1 : 0);
    print $checked;
    
    <form method="POST">
    <input type="checkbox" name="checkbox" />Klick mich
    <input type="submit" name="submit" value="OK" />
    </form>
    

    VlG



  • hmmz schrieb:

    Hallo,

    nein wird sie nicht. Der Zustand wird nur übertragen, wenn die Checkbox Status 1 (on) hat.

    // liefert den Beweis:
    var_dump($_POST);
    // so lässt sich der Zustand trotzdem festlegen
    $checked = (isset($_POST['checkbox']&&$_POST['checkbox']=="on" ? 1 : 0);
    print $checked;
    
    <form method="POST">
    <input type="checkbox" name="checkbox" />Klick mich
    <input type="submit" name="submit" value="OK" />
    </form>
    

    VlG

    bin ich durch diesen Code in der Lage festzustellen, ob die Checkbox not-checked oder disabled ist??? Bin leider nicht wirklich fit in PHP.

    Gruß
    Karl



  • wenn es etwas mit Javascript gibt - eine kleine Funktion, wäre das auch eine mögliche Alternative.



  • Hallo,

    ja klar - wenn die Checkbox namentlich bekannt ist und ihr Zustand nicht übertragen wurde, so weißt du, dass sie nicht gechecked ist.

    Mit Javascript den Status abzufragen funktioniert (ungetestet) in etwa so:

    <script type="javascript">
    var status = document.getElementById("checkbox").checked;
    alert(status);
    </script>
    
    <input type="checkbox" name="checkbox" id="checkbox" />
    

    VlG



  • Nein,

    letzteres stimmt nicht.
    Die Checkbox kann auch disabled sein, wodurch sie ebenfalls nicht übertragen wird.

    Der Einfachheit verweise ich auf http://forum.de.selfhtml.org/?t=200712&m=1352985 und dessen Antworten.

    Kurz: du wirst nicht umhin kommen, per JavaScript etwaige Zustände (nicht checked, disabled, nicht existent) mitzuschicken, z.B. per extra-Feld.

    Gruß,
    MJM



  • Stimmt, den Zustand hab ich nicht bedacht. Dann also doch über Javascript!

    var checked  = (document.getElementById("checkbox").checked  ? "ja" : "nein");
    var disabled = (document.getElementById("checkbox").disabled ? "ja" : "nein");
    

    VlG


Anmelden zum Antworten