Trying to pre-populate some of my form fields, and I use hook_form_alter (). I tried several different ways, but in both cases the fields are still empty. I assume that I need to set default_value, not a value, because if the user changes what is in this field, I want it to be correct. Is it correct?
Here is what I tried:
function mymodule_form_alter(&$form, &$form_state, $form_id) { if($form_id == 'user_profile_form') { if(arg(0) == 'user' && arg(1)) { $user = user_load(arg(1)); $form['profile_company_site']= array('#default_value' => $user->profile_company_site); $form['profile_blog_url']= array('#default_value' => $user->profile_blog_url); $form['profile_my_website_url']= array('#default_value' => $user->profile_my_website_url); $form['profile_first_name']= array('#default_value' => $user->profile_first_name); $form['profile_last_name']= array('#default_value' => $user->profile_last_name); } } }
I also tried this as follows:
function mymodule_form_alter(&$form, &$form_state, $form_id) { if($form_id == 'user_profile_form') { if(arg(0) == 'user' && arg(1)) { $user = user_load(arg(1)); $form['profile_company_site'][#default_value'] = $user->profile_company_site); $form['profile_blog_url'][#default_value'] = $user->profile_blog_url); $form['profile_my_website_url']['#default_value'] = $user->profile_my_website_url); $form['profile_first_name']['#default_value'] = $user->profile_first_name); $form['profile_last_name']['#default_value'] = $user->profile_last_name); } } }
source share