2012-01-27 4 views
1

ページの目的は、ジョブのリストを表示することです。上部のフォームは結果をフィルタリングします。フォームが提出されたら、私はフォームを再度表示したいだけでなく、値を入れていきたいと思います。フォームコードは以下の通りです。提出された値に基づいてデフォルト値を設定するにはどうすればよいですか?

function ac_resume_job_list_form($form, &$form_state) 
{ 

    $form['display_options'] = array(
    '#type' => 'fieldset', 
    '#title' => 'Display Options', 
    '#attributes' => array("style" => "width:250px"), 
); 

    $form['display_options']['limit'] = array(
    '#type' => 'textfield', 
    '#title' => 'Limit', 
    '#size' => 2, 
    '#default_value' => 'the value of the submitted form', 
); 

    $form['display_options']['submit'] = array(
    '#type' => 'submit', 
    '#value' => 'Change Display', 
); 


    return $form; 
} 

答えて

0

あなたはハンドラを提出する形で$form_state['rebuild'] = TRUEを設定することをお勧めします、そしてそれは再建だとき基本的には、フォームで$form_state変数に送信された値のすべてにアクセスすることができます:

$default_limit = isset($form_state['values']['limit']) ? $form_state['values']['limit'] : 0; // Or whatever default limit you want to have. 

$form['display_options']['limit'] = array(
    '#type' => 'textfield', 
    '#title' => 'Limit', 
    '#size' => 2, 
    '#default_value' => $default_limit 
); 

// Brief example for the submit form 
function my_form_submit($form, &$form_state) { 
    $form_state['rebuild'] = TRUE; 
} 
+0

働いてくれてありがとう。 –

関連する問題