Документация для разработчиков
Темная тема

GetRadioValue

Описание и параметры

int
CForm::GetRadioValue(
 string question_sid,
 array answer,
 mixed form_values = false
)

Если массив, переданный в параметре form_values, инициализирован (например, в момент редактирования результата), то метод возвращает ID ответа, выбранного среди группы ответов типа "radio" на вопрос, символьный идентификатор которого указан в параметре question_sid.

Если массив, переданный в параметре form_values, не инициализирован (например, в момент создания нового результата), то метод вернет ID ответа (answer["ID"]), если он был установлен как ответ по умолчанию (ответами по умолчанию считаются те, у которых присутствует строка "checked" в answer["FIELD_PARAM"]).

Метод нестатический.

Параметры метода

Параметр Описание
question_sid Символьный идентификатор вопроса.
answer Массив описывающий параметры ответа, с обязательными ключами:
  • ID - ID ответа;
  • FIELD_PARAM - если значение этого ключа содержит слово "checked", то ID этого ответа будет возвращен данным методом по умолчанию (т.е. при создании нового результата).
form_values Ассоциированный массив значений, пришедших с веб-формы при создании нового или редактировании существующего результата (стандартный массив $_REQUEST). Данный массив может быть также получен с помощью метода CFormResult::GetDataByIDForHTML.

Параметр необязательный. По умолчанию - "false".

Смотрите также

Примеры использования

<?
/*******************************************
       Редактирование результата
*******************************************/

$RESULT_ID = 12; // ID результата

// если была нажата кнопка "Сохранить" то
if (strlen($_REQUEST["save"])>0)
{
    // используем данные пришедшие с формы
    $arrVALUES = $_REQUEST; 
}
else
{
    // сформируем этот массив из данных по результату
    $arrVALUES = CFormResult::GetDataByIDForHTML($RESULT_ID); 
}
?>
<form action="" method="POST">
<table>
    <tr>
        <td>Вы курите?</td>
        <td><?
            
            /**********************************************************
                выводим две radio-кнопки (да/нет) 
                как варианты ответа на вопрос "Вы курите?"
            **********************************************************/

            $QUESTION_SID = "SMOKE"; // символьный идентификатор вопроса

            /***********************
                radio-кнопка "да"
            ***********************/

            // массив описывающий одну radio-кнопку
            $arAnswer = array(
                "ID"            => 589,    // ID radio-кнопки
                "FIELD_PARAM"   => "checked class=\"inputradio\""   // параметр ответа
                );
            
            // получим текущее значение
            $value = CForm::GetRadioValue($QUESTION_SID, $arAnswer, $arrVALUES);

            // выведем radio-кнопку
            echo CForm::GetRadioField(
                $QUESTION_SID,
                $arAnswer["ID"],
                $value,
                $arAnswer["FIELD_PARAM"]
                );            
            echo "да <br>";

            /***********************
                radio-кнопка "нет"
            ***********************/

            // массив описывающий одну radio-кнопку
            $arAnswer = array(
                "ID"            => 590,    // ID radio-кнопки
                "FIELD_PARAM"   => ""      // параметр ответа
                );
            
            // получим текущее значение
            $value = CForm::GetRadioValue($QUESTION_SID, $arAnswer, $arrVALUES);

            // выведем radio-кнопку
            echo CForm::GetRadioField(
                $QUESTION_SID,
                $arAnswer["ID"],
                $value,
                $arAnswer["FIELD_PARAM"]
                );            
            echo "нет";
            ?></td>
    </tr>
</table>
<input type="submit" name="save" value="Сохранить">
</form>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх