Этого не может быть!
В форме несколько HIDDEN-полей, значения которых вычисляются скриптом в зависимости от заданных юзером значений в полях ввода.
При получении формы в $form_state нахожу эти HIDDEN-поля нетронутыми. То есть со значениями, переданными в форму, а не вычисленные в форме скриптом.
При этом в Firefox в диалоге вижу, что поля вычислятся как надо.
Этого не может быть!Этого не может быть!Этого не может быть!
Попробовал трюкануть. Сделал эти поля просто текстовыми, засунул в невидимый DIV.
Результат тот же.
То есть видится это так, что Друпал восстанавливает значения полей, до которых не коснулась рука пользователя.
Этого не может быть!Этого не может быть!Этого не может быть!
Комментарии
HIDDEN вроде и не должны меняться
Видимо все таки может. У себя со скрытыми полями проверил - также.
Доставайте его значение из:
<?php
$form['#post']['my_hidden1']
?>
не выдумывайте
Просто автор, подумайте сами:
вы делаете мега-магазин, ну и взбрело вам в голову, стоимость заказа хранить в HIDDEN-полях.
Я прихожу, накидываю в корзину товаров на мильёны рублей, правлю фаерабагом стоимость до 100р, получаю профит, радуюсь
Не-не-не, автор стопудово что-то не так написал. Я часто пользуюсь скрытыми полями, которые изменяю в JS и сохраняю аяксом - все сабмитится как надо, с изменениями. В общем, код в студию.
Другое дело, что - да, пользоваться ими надо только когда иначе нельзя, и не забывать про валидацию. А стоимость можно хранить в '#type'='value'.
В общем выяснил, чтобы нормально работало надо не использовать св-во #value эл-та hidden для передачи значения в форму, а использовать #default_value (о чем Вандюк нам забыл рассказать)
<?php
$form['main']['my_hidden1'] = array(
'#type' => 'hidden',
//'#value' => '678', // Если будет меняться (JS), то не используем
'#default_value' => '678'
);
?>
Дык надо ж с официальным Form API сверяться - там это написано
http://www.drupal.ru/node/46872
мне так их официальный сайт не нравится . Итак с английским не fluent так еще сам сайт запутанный как клубок ниток. И поиск мало помогает.
Не на самом d.org, а на api.drupal.org. Там Form API прямо в списке главных тем.
hidden могут, value не меняется. если ты об этом