我在CCK节点表单中有一个隐藏的字段,并且具有默认值。我想要做的是,当用户填写表单并提交表单时 - 我想获取隐藏字段的值并将其用于查询。
我的问题是,我怎样才能获得这个价值?在PHP / HTML中,可以使用$ POST变量。但是,我怎么能在drupal中做到这一点?
我正在尝试各种变体:
$form['#field_tst_timesheet']['value']
任何人都知道如何获得这个领域的价值?
Vfillby的回答:
输入:
$ts = field_tst_timesheet['0']['value'];
drupal_set_message($ts);
导致Parse错误:语法错误,意外'['?
答案 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消息部分打印对象。