2017-01-20 1 views
0

をレンダリングchecked属性をクリアする方法はありませんでの結果である:すべては、このマークを上にして正常に動作しますは後に、私はこのようになります私のフォームのチェックボックス持っ

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

を... PHPの値が1(既にチェックされている)に等しくなければこの場合、私は視覚的に最後のチェックボックスをオンまたはオフにすることができますが、実際のhtml属性は変更されず、結果としてsubmit時に同じ値1がデータベースに保存されます。

どうすればこの問題をきれいに回避できますか?私はPHPの値が提出されるまで絶対値であるので、私の "チェックされた"属性の周りの条件も絶対であることを意味するので、私はその属性を変更することはできません。

+0

クリック時に 'value'属性が変更されません。それはサーバーに送信されるかどうかです。したがって、投稿されていない場合は、あなたのフィールドは明らかに__not__が更新され、「1」のままです –

+0

value = "1"を削除しても同じ問題が発生します@u_mulder –

答えて

1

このチェックボックスをオフにしてフォームを送信すると、$_POST['showCTA']は未定義になります。したがって、isset($_POST['showCTA'])メソッドを使用すると、チェックボックスがオンの場合はtrueを返し、そうでない場合はfalseを返します。

関連する問題