set webform component value using hook_form_alter in drupal

Pramod Kumar Sharma picture Pramod Kumar Sharma · Aug 30, 2012 · Viewed 7.5k times · Source

I have used form_alter function to change the value of a component but it does not change and default values is stored in the db. when i print the $form the updated values is displaying but not saved in db.

 <?php 
function pahcom_form_edit_module_form_alter(&$form, &$form_state, $form_id) {   
        if($form_id =='webform_client_form_54')
        {           
            $new_value = rand(100000,10000000);
            $form['#node']->{'webform'}['components']['12']['value']=$new_value;            

        }
}

?>

Answer

Pramod Kumar Sharma picture Pramod Kumar Sharma · Aug 30, 2012

Working code

<?php 
function pahcom_form_edit_module_form_alter(&$form, &$form_state, $form_id) {   
        if($form_id =='webform_client_form_54')
        {           
            $new_value = rand(100000,10000000);
            $form['submitted']['vendor_id']['#default_value']=$new_value;               
        }
}

?>