Временное сохранение массива на стороне сервера для формы с 2-я ajax сабмитами

Главные вкладки

Аватар пользователя stillfinder stillfinder 6 сентября 2013 в 11:10

Вопрос состоит в следующем: в своем модуле есть форма с 2-я сабмитами, которые работают по аяксу. Нужно чтобы при нажатии первого сабмита, на стороне сервера происходило сохранение массива с числами, который будет доступен при нажатии на второй сабмит. Ищу наиболее правильный вариант реализации, возможно не совсем правильная формулировка "сохранение на стороне сервера", но думаю суть все поняли. Теперь код:

Сама форма

<?phpfunction bublesort_form($form, &$form_state) {
    $form=array();
    
    $form['result'] = array(
        '#title' => 'Result',
        '#description' => 'decs.',
        '#prefix' => '<div id="canvas_result_div">', 
        '#suffix' => '</div>', 
    );
    
    $form['shuffle'] = array(
        '#type' => 'submit',
        '#value' => t('Shuffle'),
        '#name' => 'shuffle',
        '#ajax' => array(
            'callback' => 'shuffle_ajax_submit',
            'wrapper' => 'canvas_result_div',
        ),
    );
    
    $form['step'] = array(
        '#type' => 'submit',
        '#value' => t('Step'),
        '#name' => 'step',        
        '#ajax' => array(
            'callback' => 'step_ajax_submit',
            'wrapper' => 'canvas_result_div',
        ),
    );
    
    return $form;
}?>

Первый submit

<?phpfunction shuffle_ajax_submit($form, &$form_state) {
    $numbers = rand_range(0,100,10); // массив который нужно сохранить
    $result = numbers_list_to_html($numbers);
    return '<div id="canvas_result_div">'.$result.'</div>';
}?>

Второй submit

<?phpfunction step_ajax_submit($form, &$form_state) {
        // здесь нужно получить значения массива $numbers из первого сабмита
        // $numbers = ???
    return '<div id="canvas_result_div">'.$result.'</div>';
}?>

Спасибо всем за ответы

Комментарии