2010-02-11 3 views
1

У меня есть поле в форме узла CCK, которое скрыто и имеет значение по умолчанию. То, что я пытаюсь сделать, - это когда пользователь заполняет форму и представляет ее - я хочу использовать значение скрытого поля и использовать его для запроса.Доступ к текущему значению элемента формы в Drupal

Мой вопрос в том, как я могу получить это значение? В PHP/HTML может использоваться переменная $ POST. Но как я могу это сделать в drupal?

Пытаюсь вариации этого:

$form['#field_tst_timesheet']['value'] 

Любой знает, как я могу получить на значение этого поля?

ответ Vfillby в:

Ввод этого:

$ts = field_tst_timesheet['0']['value']; 
drupal_set_message($ts); 

привело синтаксическую ошибку: ошибка синтаксиса, неожиданный '['?

ответ

4

Вы близки, но у вас есть идентификаторы в обратном направлении. Попробуйте вместо этого:

$form['field_tst_timesheet']['#value'] 

С формами, ключ, который получит POST -ed является name атрибут элемента формы, а не id элемента.

0

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

field_cck_custom_field['0']['value']. 

В зависимости от типа поля [ «значение»] может быть [ «нидь»] или что-то подобное.

Если значение поля встраивается в форме вы, возможно, придется использовать аксессоров ССК стиле, чтобы получить в виде стоимости (то есть на самом деле поле CCK)

Если у вас нет настройки Xdebug среды один удобный способ отладки Друпал объектов является использование var_export и drupal_set_message так:

drupal_set_message('<pre>' . var_export($form['#field_tst_timesheet']['value'], TRUE) . '</pre>'); 

Это должно довольно напечатать объект в разделе сообщений Друпал.

+0

Я пробовал что-то вроде этого в начале моих попыток устранения неполадок - и получил ошибку выше .. – tpow

+0

Вы пробовали следующее? drupal_set_message ('

' . var_export($form['#field_tst_timesheet']['value'], TRUE) . '
'); – vfilby

Смежные вопросы