如何设置使用PEAR QuickForm提交后显示的值?

时间:2009-12-12 22:25:36

标签: php forms submit quickform

假设我有这样的形式:

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

2 个答案:

答案 0 :(得分:0)

你可以使用

$form->exportValue('text');

答案 1 :(得分:0)

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

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

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

代码(当然在您定义元素“text”之后使用):

$text=$form->getElement('text');                    
$text->setValue('your value');
相关问题