Как в 7-ке установить значение по умолчанию для элемента формы типа radios?
Вот код:
<?php
$options = array(
0 => t('All'),
10 => t('Sea resorts'),
13 => t('Ski resorts'),
14 => t('SPA resorts'),
30 => t('Other')
);
$form['pid'] = array(
'#type' => 'radios',
'#required' => TRUE,
'#default_value' => 0,
'#options' => $options,
);
?>
Вот кусок из Form API Reference:
<?php
$active = array(0 => t('Closed'), 1 => t('Active'));
...
$form['settings']['active'] = array(
'#type' => 'radios',
'#title' => t('Poll status'),
'#default_value' => isset($node->active) ? $node->active : 1,
'#options' => $active,
'#description' => t('When a poll is closed, visitors can no longer vote for it.'),
'#access' => $admin,
);
?>
Не работает, после каждого обновления формы, возвращает предыдущее значение.
Комментарии
ключ 0 нельзя использовать
хмм, сейчас попробуем попробуем, а почему в примере можно?
Все-равно, без 0 тоже самое, не устанавливается значение по умолчанию.
не понял
По вашему коду при обновлении он должен всегда выставлять All
Во всяком случае я хочу именно этого
У других же элементов так, почему у этого не так?
Есть у кого мысли или факты?
Я у себя проверил, все работает как положено даже с нулем. Ноль то видно для чекбоксов нельзя...
При просто загрузке формы выставляет радио в значение по умолчанию.
При сабмите с ошибкой выставлено то, которое ранее было выбрано юзером. Так же?
Все я догнал, ступил малеха )))
3-ий год работы над одним и тем же сайтом приводят к плачевному состоянию мой головной мозг, а тем более перенос функционала с 6-ой на 7-ю версию друпала.
Короче мой вопрос касался кэширования выбранных значений на этапе взаимодействия с формой, т.е. еще до сабмита.
Рефреш браузера не приводил к установке значений по умолчанию, как это было в 6-ке. В связи с этим теперь хочется понять каким образом друпал кэширует состояние формы на этапе выбора значений элементов?
И как это можно отключить или отменить?