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

GetCheckBoxValue

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

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

Если массив, переданный в параметре form_values, инициализирован (например, в момент редактирования результата), то метод возвращает ID ответа (answer["ID"]), в случае если он был выбран среди группы ответов типа "checkbox" на вопрос, символьный идентификатор которого указан в параметре 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><?
            
            /**********************************************************
                выводим два checkbox'а (математика/физика) 
                как варианты ответа на вопрос 
                "Какие области знаний вас интересуют ?"
            **********************************************************/

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

            /***********************
              checkbox "математика"
            ***********************/

            // массив описывающий один checkbox
            // содержит минимально-необходимые поля
            $arAnswer = array(
                "ID"            => 591,            // ID checkbox'а
                "FIELD_PARAM"   => "checked class=\"inputcheckbox\""   // параметр ответа
                );

            // получим текущее значение
            $value = CForm::GetCheckBoxValue($QUESTION_SID, $arAnswer, $arrVALUES);

            // выведем checkbox
            echo CForm::GetCheckBoxField(
                $QUESTION_SID,
                $arAnswer["ID"],
                $value,
                $arAnswer["FIELD_PARAM"]
                );            
            echo "математика<br>";

            /***********************
                checkbox "физика"
            ***********************/

            // массив описывающий один checkbox
            // содержит минимально-необходимые поля
            $arAnswer = array(
                "ID"            => 593,       // ID checkbox'а
                "FIELD_PARAM"   => ""         // параметр ответа
                );

            // получим текущее значение
            $value = CForm::GetCheckBoxValue($QUESTION_SID, $arAnswer, $arrVALUES);

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


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

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

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

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

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