Drupal 7 drupal默认值未应用于drupal\u渲染中的选择选项
我尝试在表单中打印drupal“select option”元素。我认为drupal渲染没有应用默认值。除了未应用默认值之外,一切都正常。 问题出在哪里?有人知道我怎么做吗? 默认值是否接受字符串值 这是我的伪代码: 我测试了textfield,但它也不起作用,并且在drupal_渲染中不接受默认值Drupal 7 drupal默认值未应用于drupal\u渲染中的选择选项,drupal-7,render,default-value,drupal-forms,drupal-render,Drupal 7,Render,Default Value,Drupal Forms,Drupal Render,我尝试在表单中打印drupal“select option”元素。我认为drupal渲染没有应用默认值。除了未应用默认值之外,一切都正常。 问题出在哪里?有人知道我怎么做吗? 默认值是否接受字符串值 这是我的伪代码: 我测试了textfield,但它也不起作用,并且在drupal_渲染中不接受默认值 $f['test3']=array( '#type'=>'textfield', '#title'=>'test3', '#default_value'
$f['test3']=array(
'#type'=>'textfield',
'#title'=>'test3',
'#default_value' =>'aaa',
);
我想这是因为使用drupal_render。有人有解决方案吗?如果您查看中的示例,您将看到选项设置采用键值对数组,并且在默认_值中,您应该指定默认值的键,而不是字符串值 此外,根据,选项需要字符串值。因此,您的选择应该更像:
$f['type'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array('1','2','3','4')),
'#default_value'=> '1',
);
在Drupal_get_表单中使用的Drupal_渲染中,默认值未设置use必须使用它的值instaed
$f['type'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array('1','2','3','4')),
'#value'=> '1',
);
以下代码不起作用:
$form['title'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array(t('opt1'), t('opt3'), t('opt4'), t('opt5'), t('opt6'))),
'#default_value' => array($default_value_key));
$form['title1'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array(t('opt1'), t('opt3'), t('opt4'), t('opt5'), t('opt6'))),
'#default_value' => array($default_value_key));
return $form;
但后来我做了以下几件事:
$form['group'] = array('#tree' => TRUE);
$form['group']['title'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array(t('opt1'), t('opt3'), t('opt4'), t('opt5'), t('opt6'))),
'#default_value' => array($default_value_key));
$form['group']['title1'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array(t('opt1'), t('opt3'), t('opt4'), t('opt5'), t('opt6'))),
'#default_value' => array($default_value_key));
return $form;
默认值现在可以工作了。我也有同样的问题。最后,我找到了一种方法。正如您所说,默认的_值不起作用。因此,将默认的_值固定为0。并更改选项数组,将默认值放在顶部。。它不适用于drupal\u渲染。在我的orgin代码中,我设置了数组键。问题是drupal\u get\u表单中使用的“drupal\u render”未设置默认值。这很危险,因为用户将无法覆盖提交的值说明:用于设置用户无法编辑的值。不应与默认值混淆,默认值用于表单输入,用户可以覆盖默认值。非常感谢,这个答案是正确的,解决了我的问题stuck@TrungLeNguyenNhat不客气,我很高兴看到我的答案在几年后可以帮助其他人:在使用该选项时,人们应该注意的一点是,autocomplete属性应该设置为“off”,否则Firefox不会将所选选项显示为选中。
$form['group'] = array('#tree' => TRUE);
$form['group']['title'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array(t('opt1'), t('opt3'), t('opt4'), t('opt5'), t('opt6'))),
'#default_value' => array($default_value_key));
$form['group']['title1'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array(t('opt1'), t('opt3'), t('opt4'), t('opt5'), t('opt6'))),
'#default_value' => array($default_value_key));
return $form;