0

フォーム投稿で選択したラジオ ボタンの値を取得できません。どのオプションを選択しても、値は「オン」になります。これはWordpress Plugin Optionsページにあることに注意してください。

以下のフォームのコード:

?>
<div class="wrap">
    <?php screen_icon(); ?>
    <h2>Title</h2>
    <br />
    <form action="options-general.php?page=page" method="post">
    <table class="widefat">
    <thead>
        <tr>
            <th></th>
            <th>Site Name</th>
            <th>Site URL</th>
            <th>Username</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th></th>
            <th>Site Name</th>
            <th>Site URL</th>
            <th>Username</th>
        </tr>
    </tfoot>
    <tbody>
    <?php 

    $size = count($sites);

    for ( $i = 0; $i < $size; $i++) {

        echo '<tr>';

        for ($j = 0; $j < 4; $j++) {
            if ($j == 0) {


            echo '<td><input type="radio" id="cta_siteID_'.$i.'" name="cta_siteID",value="'.$i.'"/></td>';

            }
            else
            {

                echo '<td>'.$sites[$i][$j-1].'</td>';
            }
        }
        echo '</tr>';
    } 
    ?>
    </tbody>
   </table>
   <br />

   <input type="hidden" name="formType" value="main" />
   <select name="selectedItem">
        <option value="" selected="true">Select an Option</option>
        <option value="add">Add Site</option>
        <option value="edit">Edit Site</option>
        <option value="delete">Delete Site</option>
   </select>
   <input type="submit" name="Apply" value="Apply" class="button-primary" />
   </form>
</div>

ラジオ グループのアイテムを選択した後に var_dump($_POST) を実行すると、次のようになります。

onarray(4) { ["cta_siteID"]=> string(2) "on" ["formType"]=> string(4) "main" ["selectedItem"]=> string(4) "edit" ["Apply "]=> string(5) "適用" }

フォームを投稿する前に、HTML で値が正しくレンダリングされていますが、何が起こっているのかわかりません。

「オン」の値は、選択したラジオ オプションに関係なく表示され、何も選択されていない場合はまったく表示されません (予想どおり)。

4

1 に答える 1

3

入力タグ内にカンマを含めないでください。

name="cta_siteID",value=

これにより、ブラウザが渡された値を無効にする可能性があります。

于 2012-08-29T15:52:19.313 に答える