管理者でフォームを作成しました。
$form['things'] = array(
'#prefix' => '<div id="things">',
'#suffix' => '</div>',
'#tree' => TRUE,
'#theme' => 'table',
'#header' => array(t('Field Label'), t('Field Name'), t('Location'), t('Stuff')),
'#rows' => array(),
);
次に、各行を次のように追加します。
foreach ($type_fields as $field_name => $attrs) {
$stuff = array(
'#type' => 'textfield',
'#default_value' => $attrs['stuff'],
);
$form['things']['#rows'][] = array(
array('data' => 'label'),
array('data' => $field_name),
array('data' => $field_name),
array('data' => $stuff),
);
}
かっこいいフォルム!しかし、最初の問題は、割り当てられた値#default_value
がフォームに表示されないことです。#value
正しい値に変更すると、表示されます。だから、これはどうすればいいのでしょうか?Drupalのドキュメントは言う#value
私が関数にそれを期待する正確にどのように機能しているが、フォームで使用するべきではありません。
主な問題は、テキストフィールドの1つにいくつかのテストデータを入力して送信するときです_submit
。送信された値が関数に表示されません。
また、テキストフィールドに入力した値$form
も$form_state
含まれていません。
これは私がレンダリングしているためなの#theme => "table"
でしょうか?誰かがこの問題に遭遇しましたか?_submit
関数にフォームを投稿するときに、入力している値を確認できるようにする変更に関するアイデアはありますか?