[QF] - setConstants() messign up elements value?
| From: | Sebastian Baran | Date: | Thu, 29 Jan 2004 12:22:19 +0000 |
| Subject: | [QF] - setConstants() messign up elements value? | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-10421@lists.php.net to get a copy of this message | ||
Hi all,
I have the following (pseudo)code:
[..]
$sform->addElement('text', '_date', 'Date: ', '');
$sform->setDefaults(array('_date'=>date('d.m.Y')));
[..]
if ($sform->validate()) {
[..]
// convert dd.mm.YYYY to YYYYmmdd format to put it into DB
$sform->applyFilter('_date', 'prepare_date');
if ($add_mode) {
echo '1: '.$sform->getElementValue('_date');
[put data into DB]
$id = mysql_insert_id($db->connection);
$sform->setConstants(array("id"=>$id));
echo '2: '.$sform->getElementValue('_date');
}
elseif ($edit_mode) {
[update record in DB]
}
}
[..]
Everything's working fine except with '_date' field.
1) open page with form to add new record
2) submit with correct values
3) above code outputs:
1: 29.01.2004
2: 20040129
Why does seConstants() for "id" field change "_date" field value?????
And more why, though getElementValue()
"Returns the element's raw value such as submitted by the form (not
filtered), set by setDefaults() or setConstants(). "
(quoted from QF docs) I get filtered value of "_date" field, but only
after setConstants() even not touching "_date" field?
I'm confused. Any help appreciated.
--
Best regards,
Sebastian