PHPでラジオボタンの初期チェックとチェックの保持

スポンサーリンク

はじめに

PHPでWebページを作っていて、ラジオボタンを設置することがありました。

ラジオボタンを設置出来たのはいいものの、ページを表示したときにラジオボタンの1番目にチェックが自動で入っていませんでした。

さらに、「送信ボタン」を押すとラジオボタンのチェックがクリアされてしまいます。

この2つの問題を解決したのでまとめておきます。

修正前

修正前のコードは下のような感じです。

ただラジオボタンを3つ設置しただけのものです。

<form method="POST" action="radio-btn.php">
    <label><input type="radio" name="radio" value="1">Radio Botton 1</label>
    <br>
    <label><input type="radio" name="radio" value="2">Radio Botton 2</label>
    <br>
    <label><input type="radio" name="radio" value="3">Radio Botton 3</label>
    <br>
    <input type="submit" value="update">
</form>

ページでは下のように表示されます。




HTMLなので「update」ボタンは機能していませんが、初期状態でチェックが入っていないことが分かります。

ラジオボタンの1番目に初期状態でチェックが入っているようにするのと、「update」を押してもチェックが保持されるようにPHPファイルを編集しました。

修正後

修正後のコードは下のような感じです。

<form method="POST" action="radio-btn.php">
    <label><input type="radio" name="radio" value="1" <?php if($_POST['radio']==""||$_POST['radio']=="1") echo 'checked'?>>Radio Botton 1</label>
    <br>
    <label><input type="radio" name="radio" value="2" <?php if($_POST['radio']=="2") echo 'checked'?>>Radio Botton 2</label>
    <br>
    <label><input type="radio" name="radio" value="3" <?php if($_POST['radio']=="3") echo 'checked'?>>Radio Botton 3</label>
    <br>
    <input type="submit" value="update">
</form>

初期状態でチェックが入っているようなり、「update」を押してもチェックが保持されるようになりました。




コメント

タイトルとURLをコピーしました