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

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,
			);            
			echo "физика";
		?></td>
	</tr>
</table>
<input type="submit" name="save" value="Сохранить">
</form>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024