2017-01-20 2 views
0

ich eine Checkbox in meiner Form haben, die wie folgt aussieht:Einstellung Checkbox checked PHP ist Ergebnisse in keiner Weise nach dem Attribut checked löschen machen

<input class="form-control" type="checkbox" id="showCTA" name="showCTA" <?php echo $block['showCTA'] ? 'checked' : ''; ?> /> 

Alles funktioniert mit dieser Auszeichnungs feinen ... .unless der PHP-Wert ist gleich 1 (bereits aktiviert). Wenn dies der Fall ist, kann ich das Kontrollkästchen in der von Ende visuell aktivieren und deaktivieren, aber das tatsächliche HTML-Attribut ändert sich nicht, was dazu führt, dass derselbe Wert von 1 in meiner Datenbank beim Senden gespeichert wird.

Wie kann ich um diesen in einer sauberen Art und Weise arbeiten? Ich nehme an, das Problem ist, da der PHP-Wert bis zur Übergabe absolut ist, dh die Bedingung um mein Attribut "checked" ist ebenfalls absolut, daher kann ich das Attribut nicht ändern.

+0

'value' Attribut ändert sich nicht auf Mausklick. Es ist entweder auf dem Server veröffentlicht oder nicht. Also, wenn es nicht gebucht wird - Ihr Feld __not__ offensichtlich aktualisiert und bleibt '1' –

+0

noch das gleiche Problem hat, wenn der Wert zu entfernen = „1“ @u_mulder –

Antwort

1

Wenn das Kontrollkästchen nicht aktiviert ist und Sie das Formular veröffentlichen, wird die $_POST['showCTA'] undefiniert sein. Sie sollten also die Methode isset($_POST['showCTA']) verwenden, die true zurückgibt, wenn das Kontrollkästchen aktiviert ist, und falls nicht, false.

Verwandte Themen