Probably means your #value is getting set through some other mechanism. FormAPI can be pretty subtle at times. I seem to remember having a similar problem when I was playing around with #multistep, but I don't remember how I fixed it. good luck, -tao Feijó wrote:
John,
I only used #value to test my array content!! I do not intent to use both
With #value, it shows up, when I change to #default_value, the information is gone!!!
its clear now? :)
thanks!! Feijó
John VanDyk escreveu:
If #value is set, #default_value will be ineffective. From form.inc:
if (!isset($form['#value'])) { $function = $form['#type'] . '_value'; if (function_exists($function)) { $function($form); } else { $form['#value'] = isset($form['#default_value']) ? $form['#default_value'] : ''; } }
Because the form is built multiple times, this can be confusing.
I already try with print_r !
it shows the content "array(['name'] => 'name test')" in #description and #value, but never on #default_value
The name field is varchar(50), with 'name test'. Just it.
Yesterday a PHP expert was here, he take a look at this, we try a lot of possibilities, no clue whatsoever
It cant be explained :)
Jakob Petsovits escreveu:
On Thursday, 24. January 2008, Feijó wrote:
If I try '#default_value' => 'test ' . $row['name'],
only test apears!
Imho, that behaviour suggests that something is wrong with $row['name'] and less with Form API itself. (Because string concatenation fails even before the Form API gets the value passed over.)
Not sure, but maybe print_r($row) and/or gettype($row['name']) reveals some useful information...