Home » HTML » HTML_QuickForm » Bug #4781
Without setDefaults(), date format doesn't work correctly.
Details
| Submitted | 2005-07-10 06:36 UTC |
|---|---|
| From | sakamoto-gsyc-3s at glamenv-septzen dot net |
| Assigned | avb |
| Status | Closed |
| Package | HTML_QuickForm |
| PHP Version | 4.3.11 |
| OS | WinXP |
| Roadmaps | (Not assigned) |
Comments
[2005-07-10 06:36 UTC] sakamoto-gsyc-3s at glamenv-septzen dot net
Description:
------------
I use HTML_QuickForm 3.2.4pl1 and ArraySmartyRenderer.
Without setDefaults(), date format seems not to work correctly. Especially, 'prefix/suffix' parts, as 'format' key which passed in date element constructor, seems not to be outputted in html.
I tried to solve this problem, I changed toHtml() in date.php like this and I could solve this problem.
function toHtml()
{
// before
$renderer->setElementTemplate($this->_wrap[0] . '{element}' . $this->_wrap[1]);
parent::accept($renderer);
return $renderer->toHtml();
// after
$renderer->setElementTemplate('{element}');
parent::accept($renderer);
eturn $this->_wrap[0].$renderer->toHtml().$this->_wrap[1];
}
Reproduce code:
---------------
$form->addElement('date', 'date1', 'date1_capt',
array('format' => '--prefix-- Y m d --suffix--',
...
// If use setDefaults(), '--prefix--', '--suffix--' are shown.
$form->setDefaults(array('date1' => array('Y'=> ...
// Without setDefaults(), those are NOT shown.