2

假设我有这样的表格:

$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 方法对我来说似乎有点没用......

4

2 回答 2

0

你可以使用

$form->exportValue('text');
于 2009-12-12T22:38:09.333 回答
0

setDefaults 方法被认为是“预填充”表单的内容。

提交后,设置到表单中的值是来自方法 $form->getSubmitValues 的值。

如果您想/需要更改该行为,那么除了手动设置该值之外别无选择:

代码(当然要在定义元素“文本”后使用):

$text=$form->getElement('text');                    
$text->setValue('your value');
于 2010-11-18T12:08:25.743 回答