0

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;
}
4

1 に答える 1

0

次の変数には私のデータが含まれていました。

$form_state['clicked_button']['#post']['u1'], 
$form_state['clicked_button']['#post']['u2'],
$form_state['clicked_button']['#post']['u3'], 
$form_state['clicked_button']['#post']['u4'], 
$form_state['clicked_button']['#post']['u5']. 

これを見つけるのを手伝ってくれた Adam Balsam に感謝します!

于 2013-03-23T00:06:36.593 に答える