假设我有这样的形式:
$form = new HTML_QuickForm('Novinky');
$defaults = array('text' => '');
$form->setDefaults($defaults);
$elements['text'] = $form->addElement('textarea', 'text', 'Text', array('cols'=>55, 'rows'=>10, 'id'=>'text'));
$form->addElement('submit','save','Save');
if (isset($_POST[save])) {
if ($form->validate()) {
$form->process(array($this,'writeDB'));
}
}
提交后我希望显示默认值而不是用户输入的值。 Quickform是否有一些功能可以实现,或者我必须使用笨拙的东西:
$elements['text']->setValue( $defaults['text']);
..在这种情况下,setDefaults方法对我来说似乎没用......
答案 0 :(得分:0)
你可以使用
$form->exportValue('text');
答案 1 :(得分:0)
setDefaults方法被认为是“预填充”表单的内容。
提交后,表单中设置的值是来自方法$ form-> getSubmitValues的值。
如果您希望/需要更改该行为,那么您除了手动设置值之外别无选择:
代码(当然在您定义元素“text”之后使用):
$text=$form->getElement('text');
$text->setValue('your value');