php codeigniter — помощник формы — как реализовать set_value на радиовходе

#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"; ?>
  

Это правильный код в поле зрения??