0

このチュートリアルシリーズからWordPressプラグインの開発方法を学び、現在このチュートリアルに参加していますが、奇妙なことに気づきました。2つのRadioButtonを使用して、1つのチェックボックスを使用できる「True」または「False」の値を取得しています。

<label for="devloungeHeader_yes">
    <input type="radio" id="devloungeHeader_yes" name="devloungeHeader" value="true" <?php if ($devOptions['show_header'] == "true") { _e('checked="checked"', "DevloungePluginSeries"); }?> />
    Yes
</label>&nbsp;&nbsp;&nbsp;&nbsp;
<label for="devloungeHeader_no">
    <input type="radio" id="devloungeHeader_no" name="devloungeHeader" value="false" <?php if ($devOptions['show_header'] == "false") { _e('checked="checked"', "DevloungePluginSeries"); }?>/>
    No
</label>

joomla管理ページで似たようなものを見ました。同じ結果を得るために2つのラジオボタンが使用されていました。

それで、1つのチェックボックスの代わりに2つのラジオボタンを使用することの利点はありますか(html、css、javascript、php、ちょうど任意)?

4

1 に答える 1

0

実は、同じ名前で値が異なる「True」と「False」の 2 つのラジオ ボタンを使用する方が、チェックボックスよりも優れている理由がわかりました。チェックボックスがチェックされていない場合、サーバーに送信されません。しかし、「True」と「False」の値を持つラジオ ボタンを使用すると、それらのラジオ ボタンがサーバーに送信されるため、いずれにしても php は html フォームから結果を取得します。そのため、ckeckbox には 2 つのオプションしかありません。

1) when chebox is checked and is submited (value == "checked")
2) when checkbox is Not checked and it is not submited

php には、次の 2 つのオプションがあります。

<?php
if (isset($_POST['testCheckBox'])) {
    // it is submited so it means it is Checked!
} else {
    // it is not submited because it is not checked or there is something wrong!
}
?>

ただし、ラジオ ボタンには次の 3 つのオプションがあります。

1) when radio "True" is checked and is submited
2) when radio "False" is checked and is submited
3) when radio is not SUBMITED, so something is not working properly

PHP の例:

<?php
if (isset($_POST['testRadioButton'])) { // testRadioButton is submited!
    if($_POST['testRadioButton'] == "true"){
        // True is checked, do something
    } elseif(($_POST['testRadioButton'] == "false"){
        // False is checked, do something
    }
} else {
    // it not Submited! so there is definitely something wrong with code
}
?>
于 2013-02-09T09:46:25.863 に答える