在 drupal 中使用 hook_form_alter 设置 webform 组件值

2021-12-29 00:00:00 php drupal drupal-7 hook-form-alter

我已经使用 form_alter 函数来更改组件的值,但它不会更改并且默认值存储在数据库中.当我打印 $form 时,更新的值正在显示但未保存在 db 中.

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;            

        }
}

?>

推荐答案

工作代码

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

?>

相关文章