在Drupal中访问表单元素的当前值

时间:2010-02-11 15:34:19

标签: drupal-6

我在CCK节点表单中有一个隐藏的字段,并且具有默认值。我想要做的是,当用户填写表单并提交表单时 - 我想获取隐藏字段的值并将其用于查询。

我的问题是,我怎样才能获得这个价值?在PHP / HTML中,可以使用$ POST变量。但是,我怎么能在drupal中做到这一点?

我正在尝试各种变体:

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

任何人都知道如何获得这个领域的价值?

Vfillby的回答:

输入:

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

导致Parse错误:语法错误,意外'['?

2 个答案:

答案 0 :(得分:4)

你很接近,但你有向后的标识符。试试这个:

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

使用表单时,获取POST - ed的键是表单元素的name属性,而不是id元素。

答案 1 :(得分:0)

不是一个完整的答案,但我记得CCK在直接访问字段的值时有些奇怪。我记得必须像这样访问字段值

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

取决于字段的类型['value']可能是['nid']或类似的东西。

如果字段值嵌入在表单中,则可能必须使用cck样式访问器来获取表单值(实际上是cck字段)

如果您没有xdebug环境设置,可以使用var_export和drupal_set_message这样一种方便的调试drupal对象:

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

这应该在drupal消息部分打印对象。