hook_form_alter を作成し、選択オプションに応じて入力値を変更したいと考えています。
名前の値をキャッチします:
global $user;
$user_fields = user_load($user->uid);
$name = $user_fields->field_user_name['und']['0']['value'];
実際に私はフォームの状態を使用します:
$form['field_name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#default_value' => $name,
'#weight' => 4,
'#states' => array(
'visible' => array(
'select[name="who_is_registering"]' => array('value' => REGISTRATION_REGISTRANT_TYPE_ANON),
'#default_value' => '',
),
'required' => array(
'select[name="who_is_registering"]' => array('value' => REGISTRATION_REGISTRANT_TYPE_ANON),
),
),
);
目標は、選択値がanon(REGISTRATION_REGISTRANT_TYPE_ANON)と異なる場合に名前を設定し、入力を非表示にすることです...そして他の場合には空のフィールドを表示します。