Drupal 6 を使用して、フォーム送信を含むモジュールを作成しています。私は #type "radio" を使用することにしました。テーブルを動的に作成できるからです (これは表示目的で必要です)。
画像で選択した各ラジオの戻り値を出力しています。ただし、フォームを送信するたびに、#return_value ではなく #default_value が返されます。
これが私のコードとページのスクリーンショットです。どんな助けでも大歓迎です!
======ここに問題の画像=======
function peereval_survey(&$formstate, $numStudents)
{
drupal_add_css(drupal_get_path('module', 'peereval') .'/peereval.css');
for ($rowNum = 1; $rowNum <= $numStudents; $rowNum++)
{
for ($colNum = 1; $colNum <= 5; $colNum++)
{
if ($rowNum == 1)
{
$form['v' . $colNum]['u' . $rowNum . ',v' . $colNum] = array
(
'#prefix' => "<tr><td>",
'#suffix' => "</td>",
'#type' => 'radio',
'#title' => t($rowNum . ', ' . $colNum),
'#name' => 'u' . $rowNum,
'#default_value' => 0,
'#return_value' => $colNum,
);
}
else if ($rowNum == 5)
{
$form['v' . $colNum]['u' . $rowNum . ',v' . $colNum] = array
(
'#prefix' => "<td>",
'#suffix' => "</td></tr>",
'#type' => 'radio',
'#title' => t($rowNum . ', ' . $colNum),
'#name' => 'u' . $rowNum,
'#default_value' => 0,
'#return_value' => $colNum,
);
}
else
{
$form['v' . $colNum]['u' . $rowNum . ',v' . $colNum] = array
(
'#prefix' => "<td>",
'#suffix' => "</td>",
'#type' => 'radio',
'#title' => t($rowNum . ', ' . $colNum),
'#name' => 'u' . $rowNum,
'#default_value' => 0,
'#return_value' => $colNum,
);
}
}
}
$form['numStudents'] = array
(
'#type' => 'hidden',
'#value' => $numStudents
);
$form['submit'] = array
(
'#prefix' => '<div id="submit">',
'#suffix' => '</div>',
'#type' => 'submit',
'#value' => t('Save'),
);
return $form;
}
function peereval_survey_submit($form, &$form_state)
{
$form_state['redirect'] = 'peereval/1/5/1';
drupal_set_message("hi" . $form_state['values']['u1,v1'] . $form_state['values']['u2,v2'] . $form_state['values']['u3,v3'] . $form_state['values']['u4,v4'] . $form_state['values']['u5,v5']);
return $form;
}