Очередной нубский вопрос

Главные вкладки

Аватар пользователя divined divined 5 октября 2012 в 17:25

Как в 7-ке установить значение по умолчанию для элемента формы типа radios?

Вот код:

<?php
    $options 
= array(
        
=> 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(=> t('Closed'), => 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,
  );
?>

Не работает, после каждого обновления формы, возвращает предыдущее значение.

Комментарии

Аватар пользователя sg85 sg85 5 октября 2012 в 21:31

"divined" wrote:
Не работает, после каждого обновления формы, возвращает предыдущее значение.

не понял

По вашему коду при обновлении он должен всегда выставлять All

Аватар пользователя natbampo natbampo 9 октября 2012 в 16:56

Я у себя проверил, все работает как положено даже с нулем. Ноль то видно для чекбоксов нельзя...

"divined" wrote:
Не работает, после каждого обновления формы, возвращает предыдущее значение

При просто загрузке формы выставляет радио в значение по умолчанию.
При сабмите с ошибкой выставлено то, которое ранее было выбрано юзером. Так же?

Аватар пользователя divined divined 9 октября 2012 в 18:10

Все я догнал, ступил малеха )))
3-ий год работы над одним и тем же сайтом приводят к плачевному состоянию мой головной мозг, а тем более перенос функционала с 6-ой на 7-ю версию друпала.

Короче мой вопрос касался кэширования выбранных значений на этапе взаимодействия с формой, т.е. еще до сабмита.

Рефреш браузера не приводил к установке значений по умолчанию, как это было в 6-ке. В связи с этим теперь хочется понять каким образом друпал кэширует состояние формы на этапе выбора значений элементов?

И как это можно отключить или отменить?