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

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-2024, «1С-Битрикс», 2024