Saya telah membuat formulir di admin.
$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(),
);
Saya kemudian menambahkan setiap baris ke dalamnya seperti:
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),
);
}
Bentuknya terlihat hebat! Tetapi masalah pertama adalah nilai yang diberikan #default_valuetidak muncul dalam formulir. Ketika saya mengubahnya ke #valuenilai yang benar TIDAK muncul. Jadi saya bertanya-tanya bagaimana ini harus dilakukan? The dokumentasi Drupal mengatakan #valuetidak boleh digunakan dengan bentuk meskipun berfungsi persis bagaimana saya akan mengharapkan untuk fungsi.
Masalah utama adalah ketika saya mengisi beberapa data uji di salah satu bidang teks dan mengirimkannya: Saya tidak melihat nilai yang dikirimkan dalam _submitfungsi saya .
Tidak $formjuga $form_statemengandung nilai yang saya masukkan ke dalam bidang teks.
Saya ingin tahu apakah ini karena saya render #theme => "table"? Adakah yang mengalami masalah ini? Adakah ide tentang perubahan yang dapat saya lakukan yang memungkinkan saya melihat nilai yang saya masukkan ketika saya memposting formulir ke _submitfungsi?