Загрузка и выгрузка форм


Какие функции в API форм выполняют эту задачу так же, как загрузка и выгрузка форм Я хочу выполнить несколько проверок при загрузке формы и удалить эти проверки при выгрузке формы.

           function form_example_form($form, &$form_state) {
                 $form['search'] = array(
                '#type' => 'textfield',
                '#title' => t('Search for Members'),
                '#size' => 60,
                '#maxlength' => 128
                );
                $form['submit'] = array(
                '#type' => 'submit',
                '#value' => t('Search'),
                '#submit' => array('myform_newform_submit'),
                );
                 $header = array(
                    array('data' => t('ID'), 'field' => 't.id'),
                    array('data' => t('First Name'), 'field' => 't.fname'),
                    array('data' => t('Last Name'), 'field' => 't.lname'),
                    'operations' => array('data' => t('Operations'), 'colspan' => 2),
                  );
                if((variable_get('results'))!="") {

               $query = db_select('myform', 't')
              ->extend('TableSort')        //Sorting Extender
              ->orderByHeader($header)
              ->extend('PagerDefault')
              ->condition('lname',variable_get('results'),'=')
              ->limit(2)
              ->fields('t', array('id', 'fname', 'lname'));
              $results = $query->execute();
              foreach($results as $node)
              {
               $rows[]=array(
                    'id' => $node->id,
                    'first_name' =>$node->fname,
                    'last_name' => $node->lname,
                   'modify' => l('Modify', 'myform/modify/'.$node->id),
                    'delete' => l('Delete', 'myform/delete/' . $node->id));
               }
               }
               else
               {
               $rows = array(); 
               }
            $form['pager_table'] = array(
              '#theme' => 'table',
              '#header' => $header,
              '#rows' => $rows,
              '#empty' => t('Empty Rows')
              );
              // attach the pager theme
              $form['pager_pager'] = array('#theme' => 'pager');
                return $form;
                                     }

                             function form_example_form_submit($form,&$form_state)
               {
        variable_set('results',$form_state['values']['search']);
                   }

Теперь, когда я изменяю ссылку, как мне освободить переменную при выгрузке формы

 1
Author: Dharmender, 2012-06-06

1 answers

Давайте попробуем этот метод

В вашей форме

function form_example_form($form, &$form_state) {
  $name = 'myname';
  $value = 'nikhil';
  variable_set($name, $value);
  // Your form elements goes here ...   
}

function form_example_form_submit($form, &$form_state) {
  $name = 'myname';
  $myname = variable_get($name, $default = NULL);
  echo $myname; // will print nikhil
  variable_del($name);

}

Поскольку я не знаю ни одного события выгрузки формы, я сделаю

drupal_add_js("jQuery(document).unload(function() { 
//make an AJAX call to clear the value });", 'inline');

В javascript

Удачи.

 1
Author: niksmac, 2012-06-06 08:45:06