7

フォームとラジオボタンに少し問題があります。入力テキストでこれを行います:

<?php echo form_input('lastname', set_value('lastname'), 'id=lastname'); ?>
<?php echo form_error('lastname'); ?>

検証が実行され、入力された入力フィールドに値が返されると...私が探しているのは、ラジオボタンでこれを行う方法です

<tr><td><?php echo form_label('Gender: ', 'gender'); ?></td><td><?php echo form_label('Male', 'male') . form_radio('gender', 'M', '', 'id=male'); ?><br><?php echo form_label('Female', 'female') . form_radio('gender', 'F', '', 'id=female'); ?></td><td><?php echo form_error('gender'); ?></td></tr>

両方のラジオ ボタンの値が既に F または M になっていることがわかります。選択されたボタンを選択して戻すにはどうすればよいですか?

4

5 に答える 5

10

ユーザー ガイドから: https://www.codeigniter.com/user_guide/helpers/form_helper.html

form_radio()

この関数は、上記の form_checkbox() 関数とすべての点で同じですが、「ラジオ」タイプとして設定される点が異なります。

さらに読む:

form_checkbox()

チェックボックス フィールドを生成できます。簡単な例:

echo form_checkbox('newsletter', 'accept', TRUE);

生産します:

<input type="checkbox" name="newsletter" value="accept" checked="checked" />

3 番目のパラメーターには、ボックスをオンにするかどうかを決定するブール値の TRUE/FALSE が含まれます。

したがって、あなたの場合、次のようになります。

// Pass boolean value to third param
// Example:
$radio_is_checked = $this->input->post('gender') === 'F';

echo form_radio('gender', 'F', $radio_is_checked, 'id=female');

set_radio()string を返すだけなのでchecked="checked"、必要に応じて 4 番目のパラメータに組み込むこともできますが、見栄えの悪いコードになります。

echo form_radio('gender', 'F', NULL, 'id="female" '.set_radio('gender', 'F'));
于 2012-11-07T00:33:56.537 に答える
6

これには三項演算子を使用します。「M」(男性)の戻り値を取得したとします。たとえば、$selected 変数を作成しており、その値が M であると想定しています。

<tr>
    <td>
        <?php echo form_label('Gender: ', 'gender'); ?>
    </td>
    <td>
        <?php echo form_label('Male', 'male') . form_radio(array('name' => 'gender', 'value' => 'M', 'checked' => ('M' == $selected) ? TRUE : FALSE, 'id' => 'male')); ?><br>
        <?php echo form_label('Female', 'female') . form_radio(array('name' => 'gender', 'value' => 'F', 'checked' => ('F' == $selected) ? TRUE : FALSE, 'id' => 'female')); ?>
    </td>
    <td>
        <?php echo form_error('gender'); ?>
    </td>
</tr>
于 2015-11-09T06:11:54.340 に答える
2

これは私にとってはうまくいきました。form_helper を使用しませんでしたが、これははるかに簡単な方法でした。誰もが性別フィールドの入力を取る問題に直面しています:)

               <input id="gender" name="gender" type="radio" class="" <?php if($gender=='0') echo "checked='checked'"; ?> value="0" <?php echo $this->form_validation->set_radio('gender', 0); ?> />
                <label for="gender" class="">Male</label>

                <input id="gender" name="gender" type="radio" class="" <?php if($gender=='1') echo "checked='checked'"; ?> value="1" <?php echo $this->form_validation->set_radio('gender', 1); ?> />
                <label for="gender" class="">Female</label>

                <input id="gender" name="gender" type="radio" class="" <?php if($gender=='2') echo "checked='checked'"; ?> value="2" <?php echo $this->form_validation->set_radio('gender', 2); ?> />
                <label for="gender" class="">Others</label>

私はそれが誰かを助けることを願っています:)

于 2014-09-24T09:30:02.027 に答える
1

これは確実に機能します....

<tr><td><?php echo form_label('Gender: ', 'gender'); ?></td><td><?php echo form_label('Male', 'male') . form_radio(array("name"=>"gender","id"=>"male","value"=>"M", 'checked'=>set_radio('gender', 'M', FALSE))); ?><br><?php echo form_label('Female', 'female') . form_radio(array("name"=>"gender","id"=>"female","value"=>"F", 'checked'=>set_radio('gender', 'F', FALSE))); ?></td><td><?php echo form_error('gender'); ?></td></tr>

私のラジオボタンをそのように書いた

<?php form_radio(array("name"=>"gender","id"=>"female","value"=>"F", 'checked'=>set_radio('gender', 'F', FALSE))); ?>
于 2012-11-07T00:35:07.320 に答える
-2
$_fldProyectoMostrar = array(
"id"        => "_FLDPROYDER",
"name"      => "_FLDPROYDER"
);


<?php echo form_radio($_fldProyectoMostrar, "FALSE",    set_radio("_FLDPROYDER", "FALSE", TRUE)); ?>NO

<?php echo form_radio($_fldProyectoMostrar, "TRUE",     set_radio("_FLDPROYDER", "TRUE", FALSE )); ?>SI

Donde el el segundo valor del set radio, debe ser = al string value del form_radio

于 2014-04-20T13:31:22.537 に答える