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_value
tidak muncul dalam formulir. Ketika saya mengubahnya ke #value
nilai yang benar TIDAK muncul. Jadi saya bertanya-tanya bagaimana ini harus dilakukan? The dokumentasi Drupal mengatakan #value
tidak 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 _submit
fungsi saya .
Tidak $form
juga $form_state
mengandung 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 _submit
fungsi?