[РЕШЕНО] Сделан недопустимый выбор. Пожалуйста, обратитесь к администратору сайта.

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 11 апреля 2012 в 23:45

Вах, устал искать причину. Все перепробовал. Выдает вот такую ошибку и не могу ничего сделать.

Пишу свой модуль, в нем:

        $form['booking']['ot']=array(
        '#type' => 'select',
        '#title' => 'Check - in',
        '#prefix' => '<div class="inc">',
        '#suffix' => '</div>',
        '#options' => $options,
        );
<?php    $t_date=date('w');
    if(
$t_date!=1){
    if(
$t_date===0){$t_date=7;}
        
$start_time=time()+((8-$t_date)*86400);
        }else {
        
$start_time=time()+(7*86400);
    }
    
$full_list=array();
    for(
$i=$start_time;$i<($start_time+31556926);$i+=604800){
        
$full_list[]=(date('j m Y',$i));
    }
    
    
$options=$full_list;?>

Т.е. на выходе селект

<select id="edit-ot" class="form-select selform" name="ot">
<option value="1334605385">16 04 2012</option><option value="1335210185">23 04 2012</option>
....
</select>

Не могу понять в чем дело...

Комментарии

Аватар пользователя Zigs Zigs 12 апреля 2012 в 10:32

Такая ошибка происходит когда при постинге на сервере с формы приходит значение, которое не отдавалось клиенту в options.

Нет ли случайно рядом каких-нить аяксовых элементов, которые могли бы перетирать на сервере options в кеше формы, а клиентские данные не обновлялись?

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 6 мая 2012 в 0:27

Забыл написать как решил. Проблема была именно в value, которое содержало time(). Чет друпал такие цифры отказывался принимать. Изменил значение на 22-03-2012 и при приемке значений - explode() - mktime().