Как я могу установить значение по умолчанию на основе представленных значений? - PullRequest
1 голос
/ 27 января 2012

Цель страницы - показать список вакансий.Форма вверху позволяет фильтровать результаты.После того, как форма отправлена, я хочу снова показать форму, а также значения, которые были введены. Как бы я поступил об этом в drupal.Код формы ниже.

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

1 Ответ

0 голосов
/ 27 января 2012

Вы захотите установить $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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...