2009-12-12 6 views
2

의 내가 같은 형태를 가지고 있다고 가정 해 봅시다 : PEAR 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')); 
    } 
} 

이 후 나는 기본값 대신 사용자가 입력 한 값으로 표시 할 제출합니다.

답변

0

당신이

를 사용할 수 있습니다 ...이 경우 setdefaults를 방법은 나에게 조금 쓸모없는 것 같습니다 ..

$elements['text']->setValue($defaults['text']); 

: 합니까 Quickform는 그것을 달성하기 위해 일부 기능이 있거나 내가 좋아하는 서투른 것을 사용해야합니까

$form->exportValue('text'); 
+0

문서 :이 메서드는 먼저 지정된 값에 대해 제출 된 값이 존재하지 않으면 setValue()/setDefaults()/setConstants()에 의해 설정된 값을 반환합니다. 그래서 내 문제를 해결하지 않는 것 같아요 : / –

0

setDefaults 메서드는 양식의 내용을 "미리 채우는"것으로 간주됩니다.

제출 후 양식에 설정된 값은 $ form-> getSubmitValues ​​메소드에서 가져온 값입니다. 당신은/필요가 값을 수동으로 설정하는 것보다 당신이 다른 옵션이없는 그 동작을 변경하려면

:

$text=$form->getElement('text');      
$text->setValue('your value'); 
:

코드를 (당신이 당신의 요소 물론 "텍스트"를 정의하여 사용한다)

관련 문제