#php #forms #codeigniter #radio
#php #формы #codeigniter #переключатель
Вопрос:
Я нахожусь в процессе настройки формы обратной связи для своего сайта с помощью помощника формы codeigniters.
Моя форма создана и реализована проверка, все работает.
Моя единственная проблема заключается в добавлении функции set_value() для повторного заполнения формы в случае возникновения ошибки.
Я не могу заставить его работать на моих радиовходах, как вы добавляете функцию set_value() к типу радио.
Код:
<ul>
<li><?php echo form_radio('found_by', 'newspaper_advert', set_value('found_by')); ?> Newspaper advert</li>
<li><?php echo form_radio('found_by', 'press_release', set_value('found_by')); ?> Press release</li>
<li><?php echo form_radio('found_by', 'text_message', set_value('found_by')); ?> Text message</li>
<li><?php echo form_radio('found_by', 'email', set_value('found_by')); ?> Email</li>
<li><?php echo form_radio('found_by', 'refferal', set_value('found_by')); ?> Referred to by a friend</li>
<li><?php echo form_radio('found_by', 'telemarketing', set_value('found_by')); ?> Telemarketing</li>
<li><?php echo form_radio('found_by', 'leaflet_flyer', set_value('found_by')); ?> Leaflet or flyer</li>
<li><?php echo form_radio('found_by', 'radio', set_value('found_by')); ?> Radio</li>
<li><?php echo form_radio('found_by', 'television', set_value('found_by')); ?> Television</li>
<li><?php echo form_radio('found_by', 'internet_advert', set_value('found_by')); ?> Internet advert</li>
<li><?php echo form_radio('found_by', 'search_engine', set_value('found_by')); ?> Search engine</li>
<li><?php echo form_radio('found_by', 'none', set_value('found_by')); ?> None of the above</li>
</ul>
Ответ №1:
set_value
работает только с входными данными и текстовыми полями. вам нужно set_radio
set_radio()
Позволяет отображать переключатели в том состоянии, в котором они были отправлены. Эта функция идентична функции set_checkbox() выше.
<input type="radio" name="myradio" value="1" <?php echo set_radio('myradio', '1', TRUE); ?> />
<input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />
Со страницы документа: http://codeigniter.com/user_guide/helpers/form_helper.html
Комментарии:
1. У меня не работает, я использую значения 0 и 1 вместо 1 и 2, есть какие-нибудь подсказки?
2. @Chumillas, вы передаете 0 и 1 в качестве строк в
set_radio
функции?3. Да, так же, как и вы
4. Проблема в том, что когда пользователь не загрузил изображение в форму, проверка прерывается на «Вы не выбрали файл для загрузки». и set_radio больше не работает. Если пользователь загружает изображение, set_radio работает, когда другое поле прерывает проверку.
Ответ №2:
<?= form_radio('found_by', 'newspaper_advert', $found_by == 'newspaper_advert'); ?>
Ответ №3:
Попробуйте это, это работает для меня:
Пол:
< ?php echo form_radio("gender", "Female", NULL, set_radio('gender', 'Female')); ?>Female
< ?php echo form_radio("gender", "Male", NULL, set_radio('gender', 'Male')); ?>Male
Ответ №4:
<input type="radio" name="myradio" value="1" <?php echo set_radio('myradio', '1'); ?> />
<input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />
<input type="radio" name="myradio" value="3" <?php echo set_radio('myradio', '3'); ?> />
<input type="radio" name="myradio" value="4" <?php echo set_radio('myradio', '4'); ?> />
это так просто….
Ответ №5:
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', 'under 18', TRUE) ) ). "under 18"; ?><br />
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', '18 to 29', TRUE) ) ). "18 to 29"; ?><br />
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', '30 to 49', TRUE) ) ). "30 to 49"; ?><br />
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', 'above 49', TRUE) ) ). "above 49"; ?>
Это правильный код в поле зрения??