set webform component value using hook_form_alter

2019-05-08 18:46发布

问题:

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;            

        }
}

?>

回答1:

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;               
        }
}

?>