我是编写Drupal表单的新手,并且在整个流程形式中最简单的方面遇到麻烦,即在渲染之前将数据放在表单上的textarea中。
我在我的hook_submit()
中使用了所有这些功能,但无济于事。
Form_state['values'][$myElement=]= $myText;
Form_state[$myElement=]= $myText;
form_set_value($form[$myElement], t('$myText'), $form_state);
我在每次尝试之前都刷新了缓存:
似乎没什么用。这是我的提交处理程序中的内容:
mForm_submit(){
//$form_state['values']['sku_output_fieldset']['sku_output'] = t('$gen_sku_txt');
//$form_state['gen_sku']['sku_output_fieldset']['sku_output'] = t('$gen_sku_txt');
//$form['sku_output_fieldset']['sku_output']['#value'] = t('$gen_sku_txt');
//form_set_value($form['sku_output_fieldset']['sku_output'], t('$gen_sku_txt'), $form_state);
//form_set_value($form['sku_output'], t('$gen_sku_txt'), $form_state);
//form_set_value($form['sku_output'], array('rgb' => '123'), $form_state);
//form_set_value($form['sku_output_fieldset']['sku_output'], array('#default_value' => '123'), $form_state);
//form_set_value($form['sku_output_fieldset']['sku_output'], array('#value' => '123'), $form_state);
//form_set_value($form['sku_output_fieldset']['sku_output'], array('value' => '123'), $form_state);
//form_set_value($form['sku_output_fieldset']['sku_output'], array('default_value' => '123'), $form_state);
$form_state['rebuild'] = TRUE;
}
所有注释代码,是我尝试过但没有用的。
答案 0 :(得分:2)
您是否使用Drupal 7 Form API构建表单?这就是我以Drupal格式将默认文本插入textarea的方法:
$form['formname_fieldname'] = array(
'#default_value' => t('Some default text'),
'#title' => t('Field Title'),
'#type' => 'textarea',
'#required' => FALSE,
'#rows' => 10,
);
您的textarea将预填充“某些默认文字”
答案 1 :(得分:0)
如果要在渲染之前更改它,则不应该有提交功能。
您应该使用hook_form_alter(&$form, &$form_state, $form_id),其中传递的$form
是您可以用来编辑表单的变量。