[英]Drupal Form API - Grabbing the array() key->#value
我有一个hook_form(),我正在尝试将数据提交到数据库。
生成表单选项时,它会生成<option value="foo">
Foo </option>
我不是要获取该选项的“价值”。
我正在尝试抓住<option>
之间的部分,即“ Foo”
我的表格如下所示:
/*
* Implentation of hook_form().
*/
function f25_favorites_form() {
$form['path_options'] = array(
'#type' => 'value',
'#value' => array('default' => t('Add a favorite'), 'foo' => t('Foo'), 'bar' => t('Bar')),
);
$form['path'] = array(
'#type' => 'select',
'#title' => t('Select Page'),
'#required' => TRUE,
'#weight' => '11',
'#options' => $form['path_options']['#value'],
);
$form[submit] = array(
'#type' => 'submit',
'#weight' => '1000000',
'#value' => t('Add')
);
return $form;
}
这是form_submit():
/*
* Write Form data to database
*/
function f25_favorites_form_submit($form, &$form_state){
global $user;
$data = array(
'uid' => $user->uid,
'path' => $form_state['values']['path'],
'title' => $title,
'weight' => $weight,
'timestamp' => time(),
);
drupal_write_record('', $data);
}
我认为有类似的东西:
'path' => $form_state['values']['path'],
但是改为这样:
'title' => $form_state['values']['path'][#value],
根据Drupal的文档,$ form变量包含来自f25_favorites_form()的数据,因此这应该可以工作:
'title' => $form['path_options']['#value'][$form_state['values']['path']],
基本上,您会采用选定的值(通过$ form_state ['values'] ['path']接收),并且由于它是$ form ['path_options'] ['#value']数组的键,因此应该找到通过使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.