Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вызов функции для элемента веб-формы

00 голосов
2
Добрый день!

Подскажите, пожалуйста, как можно вызвать функцию для элемента веб-формы. Существует следующая задача: при выборе определенного значения из выпадающего списка (select) в следующем элементе radio должны блокироваться определенные поля. Код самой функции javascript добавлен в шаблон сайта, но как добавить вызов функции? В html это делается просто:
Код
<select onChange="agreeForm(this.form)"...>


Но в шаблоне веб-формы Битрикс нет тегов элементов формы, также их нет и в самом коде компонента. Как быть?
спросил 06 Май, 14 от ZooWolf (120 баллов)

2 Ответы

00 голосов
я бы в шаблоне формы ловил нужный селект и добавлял обработчик.
ответил 02 Янв, 15 от Snezhka (2,240 баллов)
00 голосов
В шаблоне формы нет select, здесь следующий код
Код
foreach ($arResult["QUESTIONS"] as $FIELD_SID => $arQuestion)
   {
   ?>
      <tr>
         <td>
            <?if (is_array($arResult["FORM_ERRORS"]) && array_key_exists($FIELD_SID, $arResult['FORM_ERRORS'])):?>
            <span class="error-fld" title="<?=$arResult["FORM_ERRORS"][$FIELD_SID]?>"></span>
            <?endif;?>
            <?=$arQuestion["CAPTION"]?><?if ($arQuestion["REQUIRED"] == "Y"):?><?=$arResult["REQUIRED_SIGN"];?><?endif;?>
            <?=$arQuestion["IS_INPUT_CAPTION_IMAGE"] == "Y" ? "<br />".$arQuestion["IMAGE"]["HTML_CODE"] : ""?>
         </td>
         <td><?=$arQuestion["HTML_CODE"]?></td>
      </tr>
   <? 
   }


А в строке
Код
<td><?=$arQuestion["HTML_CODE"]?></td>
как раз вызываются нужные компоненты (select, radio, ...), т.е. генерация html-кода происходит автоматически по описанным параметрам в коде самого компонента. Кстати, select в Битриксе определен как dropdown.
ответил 20 Апр, 15 от ZooWolf (120 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
1 ответ
спросил 03 Май, 13 от Gurevi4 (320 баллов)
0 голосов
2 ответов
0 голосов
2 ответов